首页 >web前端 >js教程 >如何找到数组中最接近给定值的数字?

如何找到数组中最接近给定值的数字?

Patricia Arquette
Patricia Arquette原创
2024-10-30 17:52:31687浏览

How Can I Find the Closest Number in an Array to a Given Value?

查找数组中最接近的数字

给定特定范围内的数字,目标是确定数组中最接近的数字。假设给定的数字范围是 -1000 到 1000。

问题:

我们有一个数字数组,例如:

[2, 42, 82, 122, 162, 202, 242, 282, 322, 362]

我们想要找到数组中最接近给定值的数字,例如 80。

解决方案:使用 Array.reduce() 方法

我们可以使用Array.reduce()方法来解决这个问题。 reduce() 方法对数组的每个元素应用一个缩减函数,将结果累加到一个值中。

这是一个使用 reduce() 的 JavaScript 解决方案:

<code class="js">var counts = [2, 42, 82, 122, 162, 202, 242, 282, 322, 362],
    goal = 80;

var closest = counts.reduce(function(prev, curr) {
  return (Math.abs(curr - goal) < Math.abs(prev - goal) ? curr : prev);
});

console.log(closest); // outputs: 82</code>

在此解决方案,我们使用reduce()方法来比较数组中每个元素与给定数字之间的绝对差。绝对差值最小的元素被分配给最接近的变量。

最后,我们记录最接近控制台的值,在本例中为 82,是数组中最接近 80 的数字。

以上是如何找到数组中最接近给定值的数字?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn