Skip to content

Array

API

flat

Array.prototype.flat([depth]); // 默认为1

模拟 flat

concat

function flat(arr) {
return [].concat(...arr);
}

递归

function flat(arr, depth = Infinity) {
return run(arr, depth);
function run(val, depth) {
if (!Array.isArray(val)) return [val];
if (depth <= 0) return val;
return val.reduce((sum, item) => {
sum.push(...run(item, depth - 1));
return sum;
}, []);
}
}