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

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

Linda Hamilton
Linda Hamilton原创
2024-11-03 12:30:02225浏览

How to Find the Nearest Number in an Array to a Given Value?

确定数组中最接近的数字

假设您有一个介于 -1000 到 1000 之间的数值和一个包含整数的数组,例如as:

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

您的任务是修改给定的数字以匹配数组中最接近的数字。例如,如果您给定的数字是 80,则应将其调整为 82。

解决方案:

为了达到所需的结果,我们可以利用 reduce()方法来查找数组中与我们的目标数字最接近的数字。 reduce() 方法接受一个函数和一个初始累加器值作为参数,迭代数组并将该函数应用于每个元素和累加器。

这是 ES5 JavaScript 中的示例实现:

<code class="js">var counts = [4, 9, 15, 6, 2],
  goal = 5;

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

console.log(closest); // Output: 6</code>

在此示例中,reduce() 方法计算每个数组元素与目标数字 (5) 之间的绝对差。然后,它比较绝对差异,并将差异最小的元素分配给最接近的变量。最接近的变量保存值 6,它是数组中最接近 5 的数字。

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

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