1、使用递归实现数组扁平化
var arr = [1,2,[3,4,5,[6,7,8,[9,10,[11,12,[13,14]]]]]];
function flat(arr){
var newArr = [];
for(var i=0;i<arr.length;i++){
if(Array.isArray(arr[i])){
newArr =newArr.concat(flat(arr[i]))
}else{
newArr.push(arr[i])
}
}
return newArr;
}
console.log(flat(arr));
2、使用函数
var arr = [1,2,[3,4,5,[6,7,8,[9,10,[11,12,[13,14,'hello']]]]]];
// console.log(arr.toString().split(",")); '1' '2'
function flat(arr){
return arr.toString().split(',').map(function(item){
if(isFinite(+item)===false){
return item
}else{
return +item
}
})
}
console.log(flat(arr));
3、使用es6 flat方法进行数组扁平化 展开数组
var arr = [1,2,[3,4,5,[6,7,8,[9,10,[11,12,[13,14,'hello']]]]]];
var res = arr.flat(Infinity);
console.log(res);