在 JavaScript 中查詢巢狀陣列中的最大數


我們必須用 JavaScript 編寫一個簡單的函式,該函式接收一個數字陣列(巢狀到任何級別),並返回陣列中存在的最大數。

例如,如果輸入陣列是 -

const arr = [
   34, 65, 67,
   [
      43, 76, 87, 23, 56, 7,
      [
         54, 7, 87, 23, 79, 314, 2
      ],
      54
   ], 54, 4, 2
];

那麼輸出應該是 -

314

我們將使用遞迴在陣列中查詢最大數。讓我們編寫程式碼

示例

const arr = [
   34, 65, 67,
   [
      43, 76, 87, 23, 56, 7,
      [
      54, 7, 87, 23, 79, 314, 2
      ],
      54
   ], 54, 4, 2
];
const findGreatest = (arr, greatest = -Infinity) => {
   for(let i = 0; i < arr.length; i++){
      if(Array.isArray(arr[i])){
         return findGreatest(arr[i], greatest);
      };
      if(arr[i] > greatest){
         greatest = arr[i];
      }
   };
   return greatest;
};
console.log(findGreatest(arr));

輸出

控制檯中的輸出將是 -

314

更新於:2020 年 8 月 26 日

208 次瀏覽

啟動你的 職業

透過完成課程獲得認證

開始
廣告