1 递归写法
function flatten(arr){
var res = [];
for(var i=0;i<arr.length;i++){
if(Array.isArray(arr[i])){
res = res.concat(flatten(arr[i]));
}else{
res.push(arr[i]);
}
}
return res;
}
2 es6 语法
let array = [1,[2,[3,[4,[5,[6,[7,[8,[9]]]]]]]]]
[1, [2, [3]]].flat(Infinity) // flat()方法的参数接收一个整数,表示想要拉平的层数,Infinity表示无限层
3 最简单的办法
let array = [1,[2,[3,[4,[5,[6,[7,[8,[9]]]]]]]]]
let flatArr = arr.join().split(','); // ["1", "2", "3", "4", "5", "6", "7", "8", "9"]
网友评论