Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

ค้นหาดัชนีอาร์เรย์ที่ใกล้ที่สุดใน 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