JavaScript 的 Array 裡面有很多層級(多維陣列),想要全部都攤平成一個一維陣列(flatten),可以怎麼做呢?
- 註:此篇使用到的 flat(),IE 不支援。
使用 flat 來將 JavaScript Array 快速攤平
JavaScript 的 flat() 可以將多維陣列,一次攤平一個,多次或想全部扁平化,可以直接使用 Infinity 的參數一次搞定。
- 文件可見:Array.prototype.flat() - JavaScript | MDN
- flat([depth]):裡面的參數是傳陣列展開的深度
直接打開瀏覽器的 Console 就可以做這個測試~ (JavaScript 將多重 Array 合併回第一層)
- a = [1, 2, [3, 4, [5, 6, [7, 8]]]];
- a.flat(); // [1, 2, 3, 4, [5, 6, [7, 8]]]
- a.flat(2); // [1, 2, 3, 4, 5, 6, [7, 8]]
- a.flat(3); // [1, 2, 3, 4, 5, 6, 7, 8]
- a.flat(Infinity); // [1, 2, 3, 4, 5, 6, 7, 8]