确定数组中最接近的数字
假设您有一个介于 -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中文网其他相关文章!