【发布时间】:2021-01-14 07:55:40
【问题描述】:
我有一个带有数字的数组,但它们可以是唯一的,并且数字会改变,但现在,让我们假设它是这样的:
const arr = [200, 180, 150, 120, 80];
我有一个数组的平均值:
const average = 146;
我需要一个函数来检查这个平均数需要在数组中的两个数字之间的位置,在这种情况下,在 150 到 120 之间,然后才显示一些东西等。我该如何实现呢?
我目前的进度,但这并没有给出我需要的输出:
let array = [200, 180, 150, 120, 80];
const sum = array.reduce(function(a, b){
return a + b;
}, 0);
const average = sum / array.length; // 146
let check = (arr: any[], start: number, end: number, value: number) => (
start <= end ?
arr.filter((_, i) => i >= start && i <= end) :
arr.filter((_, i) => i >= start || i <= end)
).includes(value);
console.log('check', check(array, 120, 150, average)); // 120 and 150 must be found in function as these values can't be hardcoded and will change
期望的结果:如果平均数介于这两个数字之间,则显示此文本等。如何做到这一点?
【问题讨论】:
-
数组是否总是以相同的方式预先排序?总是下降还是上升?
-
总是降序。 @sbgib
标签: javascript arrays