Array.prototype.flat可以实现数组扁平化:
let arr = [1,2,[3],[2,[45,6]]];
arr.flat(3);//[1,2,3,2,45,6]
ES5实现数组扁平化:
function flatten (arr) {
let result = [];
for (let i = 0;i < arr.length; i++) {
if(Array.isArray(arr[i])) {
result = result.concat(flatten(arr[i]))
} else {
result.push(arr[i])
}
}
return result;
}
ES6实现数组扁平化:
function flatten (arr) {
while (arr.some(item => Array.isArray(arr))) {
arr = [].concat(...arr);
}
return arr;
}