gpt4 book ai didi

javascript - 如何减少具有相似值的数字数组

转载 作者:行者123 更新时间:2023-12-02 22:22:06 24 4
gpt4 key购买 nike

我想创建一个方法,该方法接受数字列表并可以按提供的方差减少数组。

方差解释:

方差应与低于和高于的值相匹配。例如,方差 100 等于值:5460 应匹配 5410 - 5510 之间的任何值。(低于等于值 50,高于等于值 50)

例如,如果我有数组:

[ 1576420754, 1576420756, 1576593554, 1581172759, 1581172764 ]

我想创建一个方法filterSimilarValues(array,variance = 100)

这会给我以下输出:

[ 1576420756, 1576593554, 1581172764 ]

我尝试过一些事情,比如

const filterSimalarValues = (array, variance = 100) => {
let filteredArray = [];

for (let i = 0; i < array.length; i++) {
const number = array[i];

if (number >= number - (variance / 2) && number <= number + (variance / 2)) {
return;
}

filteredArray.push(number);
}

return filteredArray;
};

最佳答案

使用Array.filter()仅保留它们与下一个数字之间的绝对差(Math.abs())大于或等于的数字方差/2。默认情况下包含最后一项 (i === array.length - 1)。

const filterSimalarValues = (array, variance = 100) => 
array.filter((n, i) =>
i === array.length - 1 ||
Math.abs(n - array[i + 1]) >= variance / 2
)

const data = [1576420754, 1576420756, 1576593554, 1581172759, 1581172764]

const result = filterSimalarValues(data)

console.log(result)

关于javascript - 如何减少具有相似值的数字数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59197643/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com