平坦化とは何ですか
配列のフラット化とは、一言で言えば、多次元配列 (ネストを含む) を 1 次元配列に変換することを指します。
フラットES5
const arr = [1, 2, 3, [4, 5, [6, 7]]];
const flatten = arr.toString().split(',');
console.log(flatten);
利点: シンプル、便利、元のデータに影響を与えない
欠点: 最良の配列要素はすべて数字または文字であり、空のスペースはスキップされません。
参加する
const arr = [1, 2, 3, [4, 5, [6, 7]]];
const flatten = arr.join(',').split(',');
console.log(flatten);
利点と欠点は toString と同じです
フラットES6
フラット
const arr = [1, 2, 3, [4, 5, [6, 7]]];
const flatten = arr.flat(Infinity);
console.log(flatten);
利点: 空のスペースをスキップし、新しい配列を返します。元の配列は変更されません。
短所: なし
スプレッド演算子 (…)
const arr = [1, 2, 3, [4, 5]];
console.log([].concat(...arr));
利点: シンプル、便利
欠点: 平坦化できるレイヤーは 1 つだけです
要約する
推奨される方法ES6
_flat