首頁 >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