假设我们有一个数组数组,其中包含一些这样的元素-
const arr = [3, 5, 7, 2, [4, NaN, null, 4, 8, [3, undefined, 24, null], null, 5, 1], NaN, 45, 2, 1];
我们的工作是编写一个递归函数,该函数接受此嵌套数组,并将数组中的所有fale值(NaN,undefined和null)替换为0。
因此,让我们为该函数编写代码-
const arr = [3, 5, 7, 2, [4, NaN, null, 4, 8, [3, undefined, 24, null],
null, 5, 1], NaN, 45, 2, 1];
const recursiveSimplify = (arr) => {
for(let i = 0; i < arr.length; i++){
if(Array.isArray(arr[i])){
recursiveSimplify(arr[i]);
}else if(!arr[i]){
arr[i] = 0
};
};
};
recursiveSimplify(arr);
console.log(arr);
输出结果
控制台中的输出将为-
[
3,
5,
7,
2,
[ 4, 0, 0, 4, 8, [ 3, 0, 24, 0 ], 0, 5, 1 ],
0,
45,
2,
1
]