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

JavaScript에서 원점에 가장 가까운 점 찾기

<시간/>

문제

좌표 배열 arr을 첫 번째 인수로, 숫자 num을 두 번째 인수로 취하는 JavaScript 함수를 작성해야 합니다.

우리 함수는 원점(0, 0)에 가장 가까운 점을 찾아서 반환해야 합니다.

(여기서, 평면 위의 두 점 사이의 거리는 유클리드 거리입니다.)

예를 들어, 함수에 대한 입력이 -

인 경우
const arr = [[3,3],[5,-1],[-2,4]];
const num = 2;

그러면 출력은 다음과 같아야 합니다. -

const output = [[3,3],[-2,4]];

예시

이에 대한 코드는 -

const arr = [[3,3],[5,-1],[-2,4]];
const num = 2;
const closestPoints = (arr = [], num = 1) => {
   arr.sort(([a, b], [c, d]) => {
      return Math.sqrt(a * a + b * b) - Math.sqrt(c * c + d * d);
   });
   return arr.slice(0, num);
};
console.log(closestPoints(arr, num));

출력

콘솔의 출력은 -

[ [ 3, 3 ], [ -2, 4 ] ]