flat
flat(指定嵌套数组结构应展平的深度级别。默认为1。) 降低多少维度 最低转为一维数组
将多维数组转化为低维数组
// 二维转一维
const arr = [1,2,4,[4,5,6]]
// 降低一个纬度
arr.flat() // [1, 2, 4, 4, 5, 6]
// 三维转二维
const arr2 = [1,2,4,[4,5,6,[8,9]]]
// 降低一个纬度
arr2.flat() // [1, 2, 4, 4, 5, 6, [8,9]]
// 四维维转二维
const arr3 = [1,2,4,[4,5,6,[8,9,[10,11]]]]
// 降低二个纬度
arr3.flat(2) // [1, 2, 4, 4, 5, 6, 8, 9, [10,11]]
flatten
和 flat 效果一样
flatMap
相当于 map 和 flat 结合(相当于对象map返回的数组指向降维(一个维度)最低转为一维数组)
与map方法比较
const arr = [1,2,3,4]
const mapArr = arr.map(item => item * 10)
//mapArr [10,20,30,40]
// 返回一个数组
const mapArr2 = arr.map(item => [item * 10])
//mapArr [[10],[20],[30],[40]]
// 如果要变成一维数组
const flapmapArr = arr.flatMap(item => [item * 10])
//flapmapArr [10,20,30,40]
const flapmapArr = arr.flatMap(item => item * 10)
//flapmapArr [10,20,30,40]