1.flat()
数组扁平化,或者说数组降维!
通过
let arr = [1,[2,3],5,[4,[6,7]]];
let arr2 = arr.flat(); // 将数组降维为[1,2,3,5,4[6,7]]
简单说就是将数组中的数组拆解插入到当前它所在的位置
flat()可以带参数默认为1也就是说
let arr2 = arr.flat(); 等价为let arr2 = arr.flat(1);
参数的做用是用来识别降维几层的多维数组为2时次数组中包含的第三层子数组[6,7]也会解析出来为[1, 2, 3, 5, 4, 6, 7]
2.flatMap()
此方法和flat一样会降维数组 不过此方法只会降维一次 并可以对数组中的元素进行迭代通过return返回 (不会改变原数组 需要使用一个变量容器承接)
let arr = [1,[2,3],5,[4,[6,7]]];
let arr2 = arr.flatMap(item => {
// 这里可以运算
// return出去的数会生成一个新数组
return item
}); // 将数组降维为[1,2,3,5,4[6,7]]
console.log(arr2, arr)
// [1, 2, 3, 5, 4, Array(2)] [1,[2,3],5,[4,[6,7]]]