我們將編寫一個 JavaScript 程序,通過將每個元素與目標數字進行比較并跟蹤最接近的元素來查找數組中最接近的數字。程序將使用循環遍歷數組中的每個元素,并使用條件語句來比較目標數字與當前元素之間的差異。如果差值小于當前最接近的差值,我們將更新最接近的數字。該程序的結果將是給定數組中最接近目標的數字。
方法
該程序在數字數組中查找最接近目標值的數字 –
定義一個變量來存儲循環中目標值和當前值之間的差異。
將差值設置為一個非常大的數字,這樣數組中的任何數字都會變小并成為新的最接近的數字。
循環遍歷數字數組,對于每個數字,計算目標值與當前數字之間的絕對差。
如果當前差值小于存儲差值,則將存儲差值更新為當前差值,并將當前數字存儲為最接近的數字。
對數組中的所有數字重復此過程。
循環結束后,最接近目標值的數字就是變量中存儲的數字。
示例
這是一個 JavaScript 函數的示例,它將數字數組和目標數字作為輸入,并返回數組中與目標數字最接近的數字 –
function findClosest(numbers, target) { let closest = numbers[0]; // Assume the first number is the closest let closestDiff = Math.abs(target - closest); // Calculate the difference between the target and closest for (let i = 1; i < numbers.length; i++) { let current = numbers[i]; let currentDiff = Math.abs(target - current); // Calculate the difference between the target and current number if (currentDiff < closestDiff) { closest = current; // Update the closest number closestDiff = currentDiff; // Update the closest difference } } return closest; } const arr = [45, 23, 25, 78, 32, 56, 12]; const target = 50; console.log(findClosest(arr, target));
登錄后復制
說明
函數findClosest有兩個參數:一個數字數組和一個目標數字target。
我們創建一個變量closest并將其設置為等于numbers數組中的第一個數字,并假設這是最接近目標的數字。
我們還創建一個變量closestDiff,它使用Math.abs()計算目標數字和最接近數字之間的差異。 Math.abs()返回數字的絕對值,確保差值始終為正。
然后我們使用 for 循環來迭代 numbers 數組。對于每次迭代,我們將當前數字存儲在當前變量中,并在currentDiff中計算目標數字和當前數字之間的差異。
如果currentDiff小于closestDiff,我們將closest更新為當前并且closestDiff 為 currentDiff。
最后,函數返回最接近目標的數字。
以上就是JavaScript 程序查找數組中最接近的數字的詳細內容,更多請關注www.92cms.cn其它相關文章!