JavaScriptで配列を1つにマージする関数
では、任意の数の配列をパラメータとして受け取り、それらの要素を1つの配列にマージする関数 merge を実装してみましょう。
以下は、私たちの関数の動作例です:
let result = merge([1, 2, 3], [4, 5, 6], [7, 8, 9]);
console.log(result); // [1, 2, 3, 4, 5, 6, 7, 8, 9] と表示されます
実装を始めましょう。まず、渡された配列を1つの二次元配列として取得しましょう。
merge([1, 2, 3], [4, 5, 6], [7, 8, 9]);
function merge(...arrs){
console.log(arrs); // [ [1, 2, 3,] [4, 5, 6], [7, 8, 9] ] と表示されます
}
では、この二次元配列を一次元配列にマージしましょう。
そのために、メソッド concat とスプレッド演算子を使います。
let arrs = [ [1, 2, 3,], [4, 5, 6], [7, 8, 9] ];
let result = [].concat(...arrs);
console.log(result); // [1, 2, 3, 4, 5, 6, 7, 8, 9] と表示されます
では、このコードを関数 merge に追加しましょう。
function merge(...arrs) {
return [].concat(...arrs);
}
let result = merge([1, 2, 3], [4, 5, 6], [7, 8, 9]);
console.log(result); // [1, 2, 3, 4, 5, 6, 7, 8, 9] と表示されます
ご覧の通り、この関数も非常に簡潔になりました。