JavaScript配列マージ方法集
JavaScriptで2つのオブジェクト配列をマージする
JavaScriptでは、2つのオブジェクト配列をマージする方法はいくつかあります。以下に、その方法を解説します。
concat()メソッドを使用する
const array1 = [{ name: "Alice", age: 30 }, { name: "Bob", age: 25 }];
const array2 = [{ name: "Charlie", age: 35 }, { name: "David", age: 20 }];
const mergedArray = array1.concat(array2);
console.log(mergedArray);
スプレッド演算子を使用する
const mergedArray = [...array1, ...array2];
reduce()メソッドを使用する
const mergedArray = array1.reduce((acc, cur) => [...acc, cur], array2);
const mergedArray = [...array1];
mergedArray.push(...array2);
注意
reduce()
メソッドとpush()
メソッドは、元の配列を変更します。concat()
メソッドとスプレッド演算子は、新しい配列を作成し、元の配列は変更されません。
jQueryでは、配列を直接操作することはできません。配列をjQueryオブジェクトに変換し、そのメソッドを使用して操作する必要があります。
例
const $array1 = $(array1);
const $array2 = $(array2);
const mergedArray = $array1.add($array2);
JavaScript配列マージ方法集
const array1 = [{ name: "Alice", age: 30 }, { name: "Bob", age: 25 }];
const array2 = [{ name: "Charlie", age: 35 }, { name: "David", age: 20 }];
const mergedArray = array1.concat(array2);
console.log(mergedArray);
const mergedArray = [...array1, ...array2];
const mergedArray = array1.reduce((acc, cur) => [...acc, cur], array2);
const mergedArray = [...array1];
mergedArray.push(...array2);
jQueryを使用する
const $array1 = $(array1);
const $array2 = $(array2);
const mergedArray = $array1.add($array2);
解説
- jQuery
jQueryオブジェクトを連結して新しいjQueryオブジェクトを作成します。 - push()メソッド
配列の末尾に要素を追加します。元の配列が変更されます。 - reduce()メソッド
配列の各要素に対して処理を行い、最終的に新しい配列を返します。 - スプレッド演算子
配列を展開して、新しい配列に要素を追加します。元の配列は変更されません。 - concat()メソッド
2つの配列を連結して新しい配列を作成します。元の配列は変更されません。
Object.assign()メソッドを使用する
const array1 = [{ name: "Alice", age: 30 }, { name: "Bob", age: 25 }];
const array2 = [{ name: "Charlie", age: 35 }, { name: "David", age: 20 }];
const mergedArray = [...array1, ...array2];
map()メソッドとconcat()メソッドを使用する
const mergedArray = array1.map(item => ({ ...item })).concat(array2);
const mergedArray = [];
array1.forEach(item => mergedArray.push(item));
array2.forEach(item => mergedArray.push(item));
forループを使用する
const mergedArray = [];
for (let i = 0; i < array1.length; i++) {
mergedArray.push(array1[i]);
}
for (let i = 0; i < array2.length; i++) {
mergedArray.push(array 2[i]);
}
- forループ
配列の各要素をループで処理し、新しい配列を作成します。 - map()メソッドとconcat()メソッド
map()
メソッドで配列の各要素をコピーし、concat()
メソッドで2つの配列を連結します。 - Object.assign()メソッド
オブジェクトのプロパティをコピーします。配列をマージする場合は、各要素をオブジェクトとして扱います。
javascript jquery arrays