concatメソッドは、自分自身の配列と引数として渡された要素を連結して、新しいコピー配列を生成する。もし引数として渡された要素が配列なら、そこに含まれる要素がそれぞれ新しく作られた配列に追加される。
concatメソッドとスプレット構文(Spread syntax)とreduceメソッドを使うと2次元配列を1次元配列に変換できる。
簡単に2次元配列を1次元配列に変換可能なことに驚いたわ。
concatenate (他)《コ》[文字などを]連結させる
concatenation (名)(U)連続,連結
spread (自)広がる (他)を広げる
var a = ['a', 'b', 'c'];
var b = ['x', 'y', 'z'];
var c = a.concat(b, "hello");
console.log("c = " + c);
const data = [
[1, 2, 3], [4, 5, 6], [7, 8, 9]
];
//2次元配列を1次元配列に変換する
let result = data.reduce((newArr, elem) => {
//スプレット構文を使用する
return [...newArr, ...elem];
}, []);
console.log("result = " + result);
//2次元配列を1次元配列に変換する
result = data.reduce((newArr, elem) => {
//concatメソッドを使用する
return newArr.concat(elem)
}, []);
console.log("result = " + result);
/*
c = a,b,c,x,y,z,hello
result = 1,2,3,4,5,6,7,8,9
result = 1,2,3,4,5,6,7,8,9
*/
【JavaScript】Array.prototype.reduce() (attacktube.com)
【JavaScript基礎】Array.prototype.reduce() をしっかり理解する&サンプル集 – KDE BLOG (hateblo.jp) ExternalLink