- 如果只有一层嵌套数组情况
Array.prototype.concat.apply([], arr)
或
[].concat(arr)
或
Array.prototype.concat.call([], arr[0],arr[1]...)
- 如果有多层嵌套
function flat(arr) {
//判断是否有多层数组
const isDeep = arr.some(item => {
return item instanceof Array;
});
//如果没有多层数组,则返回arr
if (!isDeep) {
return arr;
}
const res = Array.prototype.concat.apply([], arr);
return flat(res)
}