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

JavaScript에서 배열의 대체 정렬

<시간/>

Numbers 배열을 첫 번째이자 유일한 인수로 사용하는 JavaScript 함수를 작성해야 합니다.

우리 함수의 역할은 배열에 있는 요소를 대체 방식으로 정렬하는 것입니다.

대안이란 다음을 의미합니다 -

당분간 4개의 요소만 포함하는 배열 arr이 있다고 가정합니다. 그런 다음 ourfunction은 다음과 같이 배열의 요소를 섞어야 합니다. -

arr[0] < arr[1] > arr[2] < arr[3]

주어진 배열에 대해 둘 이상의 가능한 솔루션이 있을 수 있다는 점에 유의하십시오. 가능한 솔루션을 반환하기만 하면 됩니다.

예를 들어 -

입력 배열이 -

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

그런 다음 하나의 가능한 출력은 -

일 수 있습니다.
const output = [ 3, 6, 2, 5, 1, 4 ];

예시

다음은 코드입니다 -

const arr = [1, 2, 3, 4, 5, 6];
const alternateSort = (arr = []) => {
   arr.sort((a, b) => a - b);
   const N = arr.length;
   let mid = Math.floor(N/2);
   if(N % 2 !== 0){
      mid++;
   };
   const small = arr.splice(0, mid);
   const big = arr.splice(0,arr.length);
   for(let i = 0; i < N; i++){
      if(i % 2 === 0){
         arr[i] = small.pop()
      }else{
         arr[i] = big.pop()
      };
   };
};
alternateSort(arr);
console.log(arr);

출력

다음은 콘솔 출력입니다 -

[ 3, 6, 2, 5, 1, 4 ]