flat() 方法會按照一個可指定的深度遞歸遍歷數組,並將所有元素與遍歷到的子數組中的元素合併爲一個新數組返回。
語法節
var newArray = arr.flat(depth)
參數節
depth 可選
指定要提取嵌套數組的結構深度,默認值爲 1。
返回值節
一個包含將數組與子數組中所有元素的新數組。
示例節
扁平化嵌套數組節
var arr1 = [1, 2, [3, 4]];
arr1.flat();
// [1, 2, 3, 4]
var arr2 = [1, 2, [3, 4, [5, 6]]];
arr2.flat();
// [1, 2, 3, 4, [5, 6]]
var arr3 = [1, 2, [3, 4, [5, 6]]];
arr3.flat(2);
// [1, 2, 3, 4, 5, 6]
//使用 Infinity 作爲深度,展開任意深度的嵌套數組
arr3.flat(Infinity);
// [1, 2, 3, 4, 5, 6]
扁平化與空項節
flat() 方法會移除數組中的空項:
var arr4 = [1, 2, , 4, 5];
arr4.flat();
// [1, 2, 4, 5]