查找数组中最接近的数字
给定特定范围内的数字,目标是确定数组中最接近的数字。假设给定的数字范围是 -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中文网其他相关文章!