문제
좌표 배열 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 ] ]