gpt4 book ai didi

javascript - 在数组中查找最接近给定数字的数字

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:18:04 24 4
gpt4 key购买 nike

我在 javascript 中有一个整数数组,[5,10,15,20,25,30,35]当给定一个数字 x 时,如何找到数组中最接近该数字的元素?

如果数字超过一个值,但不到下一个数字的一​​半,我会选择较小的值,如果超过下一个数字的一​​半,我会选择较大的数字。

例如 7 将返回 5,但 8 将返回 10。我该如何实现?任何帮助或提示将不胜感激。我已经搜索过,但找不到解决方案。我敢肯定这很常见。

最佳答案

可能最简单的做法是根据与引用值 x 的距离进行排序,然后取第一项。

内置的 Array.prototype.sort() 可以接受一个比较函数,该函数将为数组中的值对调用。然后关键是简单地传入一个比较函数,该函数根据两个值与引用值 x 的距离来比较两个值。

let x = 8;
let array = [5, 10, 15, 20, 25, 30, 35];
let closest = array.sort( (a, b) => Math.abs(x - a) - Math.abs(x - b) )[0];

看这个简单的demo .

关于javascript - 在数组中查找最接近给定数字的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4811536/

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