こんにちは、フロントエンドエンジニアのまさにょんです。
今回は、JavaScriptで、配列をMergeする方法について解説して行きます。
前回、配列をCopyする方法を解説したので、気になる方はそちらもCheckしてください。
目次
Array.prototype.concat()で配列に値をMergeする
concatメソッドは、2つ以上の配列を結合するために使用します。
「 既存のArray.concat(Mergeする値) 」で配列に値をMergeすることができます。
// < concat()-Merge >
const robotamaArray = ['ロボ・ボール', 'ロボ玉', 'ロボ玉試作1号機'];
// 1. 配列に1つの値をMergeする
const copyRobotamaArray = robotamaArray.concat('ロボ玉試作2号機');
console.log({robotamaArray});
// robotamaArray: (3) ['ロボ・ボール', 'ロボ玉', 'ロボ玉試作1号機']
console.log({copyRobotamaArray});
// copyRoboList: (4) ['ロボ・ボール', 'ロボ玉', 'ロボ玉試作1号機', 'ロボ玉試作2号機']
const cats = ['ももちゃん', '白桃'];
// 2. 配列と配列をMergeする
const hamAndCats = robotamaArray.concat(cats);
console.log({hamAndCats});
// hamAndCats: (5) ['ロボ・ボール', 'ロボ玉', 'ロボ玉試作1号機', 'ももちゃん', '白桃']
スプレッド構文(Spread-Syntax)で配列に値をMergeする
「スプレッド構文」(Spread-Syntax)は、ArrayやObjectを展開するのに使える構文です。
「 … 」の後にArrayやObjectを記述することで、その中身を展開します。
展開した後の値と並列に値を用意して、それを配列で包めば、配列をMergeすることができます。
// < Spread-Syntax(スプレッド構文)-Merge >
const devRoboList = ['ロボ・ボール', 'ロボ玉', 'ロボ玉試作1号機'];
// 1. 配列に1つの値をMergeする
const copyRoboList = [...devRoboList, 'ロボ玉試作2号機'];
console.log({devRoboList});
// devRoboList: (3) ['ロボ・ボール', 'ロボ玉', 'ロボ玉試作1号機']
console.log({copyRoboList});
// copyRobotamaArray: (4) ['ロボ・ボール', 'ロボ玉', 'ロボ玉試作1号機', 'ロボ玉試作2号機']
const catList = ['ももちゃん', '白桃'];
// 2. 配列と配列をMergeする
const hamAndCatList = [...devRoboList, ...catList];
console.log({hamAndCatList});
// hamAndCatList: (5) ['ロボ・ボール', 'ロボ玉', 'ロボ玉試作1号機', 'ももちゃん', '白桃']