Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | 1x 14x 2x 3x 7x 1x 6x 6x 15x 3x 12x 6x | // 根据指定深度递归地将所有子数组元素拼接到新的数组中
// n默认1
export function flat(arr, n) {
return arr.flat(n)
}
// 全部扁平化
export function flat2(arr) {
while(arr.some(item => Array.isArray(item))) {
arr = [].concat(...arr);
}
return arr;
}
// 递归法
export function flat3(arr, deep) {
if (deep === 0) {
return arr
}
let ret = []
for (let i = 0 ; i < arr.length ; i ++){
if (Array.isArray(arr[i])) {
ret.push(...flat3(arr[i], deep - 1))
} else {
ret.push(arr[i])
}
}
return ret
}
|