如何统计数组中低于/高于给定数字的元素数量(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 个查看次数

开启您职业生涯

完成课程获得认证

开始
广告