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

JavaScript의 원래 순서대로 배열에서 n개의 가장 작은 숫자 검색

<시간/>

문제

숫자 arr 및 숫자 n의 배열을 취하는 JavaScript 함수를 작성해야 합니다.

우리 함수는 상대 순서를 방해하지 않고 배열 arr에서 가장 작은 n을 검색해야 합니다. 오름차순이나 내림차순으로 정렬되지 않고 원래의 순서를 유지해야 함을 의미합니다.

예시

다음은 코드입니다 -

const arr = [6, 3, 4, 1, 2];
const num = 3;
const smallestInOrder = (arr = [], num) => {
   if(arr.length < num){
      return arr;
   };
   const copy = arr.slice();
   copy.sort((a, b) => a - b);
   const required = copy.splice(0, num);
   required.sort((a, b) => {
      return arr.indexOf(a) - arr.indexOf(b);
   });
   return required;
};
console.log(smallestInOrder(arr, num));

출력

다음은 콘솔 출력입니다 -

[3, 1, 2]