假设我们有一个数组数组,其中包含一些这样的元素-
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 ]