如何计算给定数字以下/上方的数组中的元素数(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 }