檢測 JavaScript 中數字數組裡最大的元素(巢狀)


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

例如:如果輸入陣列為 -

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

則輸出應為 -

994

我們將使用遞迴查詢陣列中的最大值。

示例

該程式碼將為 -

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

輸出

控制檯中的輸出將是 -

994

更新於: 20-10-2020

168 次瀏覽

開啟您的 職業

完成課程以獲得認證

開始
廣告