我有一个嵌套数组
[1,2,4,[2,6,[3,2],4],7]
现在输出数组应该是[1,2,4,4,12,9,6,8,7]
,其中每个元素都是element * depth of array
的输出;
现在得到数组的元素之和将得到53
我实现了一个递归方法,如下所示
let level = 1
let sum = 0
function recursive(arr){
arr.forEach(i=> {
multiplier(i)
})
}
function multiplier(i){
if(Array.isArray(i)){
level++
recursive(i);
} else {
sum += i*level
}
}
我做错了什么?如何控制变量水平?