確定數組中最接近的數字
假設您有一個介於-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中文網其他相關文章!