简化嵌套数组 JavaScript


假设我们有一个数组的数组,其中包含一些类似这样的元素 −

const arr = [3, 5, 7, 2, [4, NaN, null, 4, 8, [3, undefined, 24, null], null, 5, 1], NaN, 45, 2, 1];

我们的工作是编写一个递归函数,它将输入此嵌套数组,并将数组中的所有 fale 值(NaN、未定义和 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
]

更新于: 28-Aug-2020

315 次浏览

开启你的 职业生涯

完成课程获得认证

开始
广告
© . All rights reserved.