0

次のようにJavascriptで2つの配列をマージしたい:

['First', 'Third', 'Fifth', 'Seventh', 'Ninth']
['Second', 'Fourth', 'Sixth', 'Eigth']
=> ['First', 'Second', 'Third', 'Fourth',...]

また、ある配列は別の配列よりも多くの要素を持つことができます。たとえば、次のようになります。

['E1', 'E2', 'E3']
['E4']
=> ['E1', 'E4', 'E2', 'E3']

これを行う最も簡単な方法は何ですか?

私は本当にこれを行う方法を考えていません。

注:underscorejsが利用可能です。

4

2 に答える 2

5

アンダースコア付き:

var a1 = ['First', 'Third', 'Fifth', 'Seventh', 'Ninth'];
var a2 = ['Second', 'Fourth', 'Sixth', 'Eigth'];

var result = _.compact(_.flatten(_.zip(a1, a2)));
于 2013-04-18T06:11:20.717 に答える
3
a = ['First', 'Third', 'Fifth', 'Seventh', 'Ninth'];
b = ['Second', 'Fourth', 'Sixth', 'Eigth'];
c = [];
for (var i = 0; i < Math.max(a.length, b.length); i++) {
  if (i < a.length) c.push(a[i]);
  if (i < b.length) c.push(b[i]);
}
于 2013-04-18T06:10:14.783 に答える