找出陣列中最接近的數字
給定特定範圍內的數字,目標是決定數組中最接近的數字。假設給定的數字範圍是 -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中文網其他相關文章!