const arr = [1,2,[3,4,[5]],6,[7,[8,9,[10,11,[12]]]]]
const result = []
要求将arr里的数值逐个添加到result中,用ES6和递归两种方法实现
递归:
const arr = [1,2,[3,4,[5]],6,[7,[8,9,[10,11,[12]]]]]
const result = []
function find(arr){
for(var i in arr){
if(typeof(arr[i])==="object"){
find(arr[i])
}else{
result.push(arr[i])
}
}
}
find(arr)
console.log(result)
ES6
const arr = [1, 2, [1, 2, 3], [[1, 2, 9, 3, [1, 2, 3, 7], 1], 2]]
const reault = [] ;
let arr1 = arr.flat(Infinity)
reault.push(...arr1.filter(item=>item>0))
console.log(reault);