// 数组扁平化 方法一
const 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;
}
console.log(flatten([{name:'hh'},['777',['888']],['999','---']]))
方法二:
function flatten(arr) {
return arr.reduce((result, item)=> {
return result.concat(Array.isArray(item) ? flatten(item) : item);
}, []);
}
console.log(flatten([{name:'hh'},['777',['888']],['999','---']]))
遍历数组arr,若arr[i]为数组则递归遍历,直至arr[i]不为数组然后与之前的结果concat。