Computer >> 컴퓨터 >  >> 프로그램 작성 >> JavaScript

배열 JavaScript에서 가장 가까운 숫자 가져오기

<시간/>

예를 들어 숫자 배열과 숫자를 입력받아 배열에 존재하는 가장 가까운 값을 해당 숫자에 반환하는 함수를 작성해야 한다고 가정해 보겠습니다.

예를 들어 -

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

따라서 코드를 작성해 보겠습니다.

Array.prototype.reduce() 메서드를 사용하여 차이를 계산하고 reduce 함수에서 가장 작은 차이를 반환하고 가장 작은 차이와 검색한 숫자의 합이 필요한 숫자가 됩니다.

다음은 이에 대한 코드입니다 -

예시

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

출력

콘솔에서 이 코드의 출력은 -

69
61