Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Tìm số gần nhất trong mảng JavaScript

Viết hàm nhận mảng số và một số, trả về giá trị trong mảng gần nhất 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

Dùng reduce() tính hiệu tuyệt đối, giữ hiệu nhỏ nhất, cộng lại số cần tìm.

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));

Kết quả

Đầu ra console:

69 61