從 JavaScript 中的陣列找出最接近的數字


我們需要編寫一個 JavaScript 函式,該函式將數字陣列作為第一個引數並且將單獨的數字作為第二個引數。

該函式應找到並從該陣列中返回一個數字,其最接近第二個引數指定的數字。

例如 -

const arr = [34, 67, 31, 53, 89, 12, 4];
const num = 41;

輸出應為 34。

示例

以下是程式碼 -

const arr = [34, 67, 31, 53, 89, 12, 4];
const num = 41;
const findClosest = (arr = [], num) => {
   let curr = arr[0];
   let diff = Math.abs (num - curr);
   for (let val = 0; val < arr.length; val++) {
      let newdiff = Math.abs (num - arr[val]);
      if (newdiff < diff) {
         diff = newdiff;
         curr = arr[val];
      };
   };
   return curr;
};
console.log(findClosest(arr, num));

輸出

以下是控制檯中的輸出 -

34

更新於: 10-Dec-2020

116 次瀏覽量

開啟你的 職業生涯

完成課程獲得認證

開始學習
廣告