Computer >> Máy Tính >  >> Lập trình >> Javascript

Nhận con số gần nhất từ ​​JavaScript mảng

Giả sử, chúng ta bắt buộc phải viết một hàm nhận vào một mảng số và một số nhập vào và trả về giá trị gần nhất tồn tại trong mảng với số đó.

Ví dụ -

closest([45,61,53,98,54,12,69,21], 67); //69
closest([45,61,53,98,54,12,69,21], 64); //61

Vì vậy, hãy viết mã cho nó.

Chúng tôi sẽ sử dụng phương thức Array.prototype.reduce () để tính toán sự khác biệt và trả về sự khác biệt nhỏ nhất từ ​​hàm giảm và tổng của sự khác biệt nhỏ nhất đó và sau đó số chúng tôi đang tìm kiếm sẽ là số yêu cầu của chúng tôi.

Đây là mã cho việc này -

Ví dụ

const closest = (arr, num) => {
   return arr.reduce((acc, val) => {
      if(Math.abs(val - num) < Math.abs(acc)){
         return val - num;
      }else{
         return acc;
      }
   }, Infinity) + num;
}
console.log(closest([45,61,53,98,54,12,69,21], 67));
console.log(closest([45,61,53,98,54,12,69,21], 64));

Đầu ra

Đầu ra của mã này trong bảng điều khiển sẽ là -

69
61