如何統計陣列中低於/高於給定數字的元素數量(JavaScript)


假設我們有一個類似如下所示的數字陣列 −

const array = [3.1, 1, 2.2, 5.1, 6, 7.3, 2.1, 9];

我們需要編寫一個函式來統計陣列中有多少個元素低於/高於給定的數字。

例如,如果數字為 5.25,則答案應為以下 5 個元素,

(3.1, 1, 2.2, 5.1, 2.1)

以及高於它的 3 個元素 −

(6, 7.3, 9)

注意 − 如果任何元素等於提供的數字,則應將其計算為高於該數字。

因此,讓我們編寫此函式的程式碼 −

示例

const array = [3.1, 1, 2.2, 5.1, 6, 7.3, 2.1, 9];
const countNumbers = (arr, num) => {
   return arr.reduce((acc, val) => {
      const legend = ['upper', 'lower'];
      const isBelow = val < num;
      acc[legend[+isBelow]]++;
      return acc;
   }, {
      lower: 0,
      upper: 0
   });
};
console.log(countNumbers(array, 5.25));
console.log(countNumbers(array, 7));
console.log(countNumbers(array, 1));

輸出

控制檯中的輸出將為 −

{ lower: 5, upper: 3 }
{ lower: 6, upper: 2 }
{ lower: 0, upper: 8 }

更新時間: 2020 年 8 月 26 日

145 個檢視次數

開啟您職業生涯

完成課程獲得認證

開始
廣告
© . All rights reserved.