Why it doesn't work?

作業のメモ、記録をブログに残しています。

JavaScript 複数の配列を結合(マージ)する

今日はJavaScriptです。
以下のような複数の配列があるとします。

var fruits = ['apple', 'orange'];
var vegetables = ['carrot', 'cabbage']

push()を使用すると、

var total = fruits.push(vegetables);

console.log(fruits); 
console.log(total); 

以下の様に一つの要素として追加されてしまいます。要素数も3です。

["apple", "orange", Array(2)]
3

1. 新しい配列として結合する

既存の配列に手を加えず新しい配列として結合するには、concat() メソッドを使用します。

var fruits = ['apple', 'orange'];
var vegetables = ['carrot', 'cabbage']
var groceries = fruits.concat(vegetables);
console.log(groceries);

以下の様な結果が出力されます。

["apple", "orange", "carrot", "cabbage"]

2. 既存の配列に別の配列を結合する

既存の配列に新しい配列を結合させるには、apply() メソッドを使用する

var fruits = ['apple', 'orange'];
var vegetables = ['carrot', 'cabbage']
Array.prototype.push.apply(fruits, vegetables);
console.log(fruits);

1と同じ結果が出力されます。

["apple", "orange", "carrot", "cabbage"]

今日はここまで。