簡化巢狀陣列 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.