在 JavaScript 中查詢陣列的最近索引


假設我們有一個這樣的陣列 −

const arr = [2, 42, 82, 122, 162, 202, 242, 282, 322, 362];

我們需要編寫一個 JavaScript 函式,該函式接受一個這樣的陣列和一個數字 n。

該函式應返回陣列中與數字 n 最接近的專案的索引。

示例

以下為程式碼 −

const arr = [2, 42, 82, 122, 162, 202, 242, 282, 322, 362];
const closestIndex = (num, arr) => {
   let curr = arr[0], diff = Math.abs(num - curr);
   let index = 0;
   for (let val = 0; val < arr.length; val++) {
      let newdiff = Math.abs(num - arr[val]);
      if (newdiff < diff) {
         diff = newdiff;
         curr = arr[val];
         index = val;
      };
   };
   return index;
};
console.log(closestIndex(150, arr));

輸出

這將在控制檯上產生以下輸出 −

4

更新於:2020-10-01

1K+ 檢視

啟動您的 職業

完成課程以獲得認證

開始學習
廣告