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

JavaScript에서 배열에 있는 모든 0을 끝까지 이동

<시간/>

문제

일부 0을 포함할 수 있는 리터럴 배열을 사용하는 JavaScript 함수를 작성해야 합니다. 우리 함수는 모든 0이 끝까지 푸시되고 0이 아닌 모든 요소가 상대 위치를 유지하도록 배열을 조정해야 합니다.

예시

다음은 코드입니다 -

const arr = [5, 0, 1, 0, -3, 0, 4, 6];
const moveAllZero = (arr = []) => {
   const res = [];
   let currIndex = 0;
   for(let i = 0; i < arr.length; i++){
      const el = arr[i];
      if(el === 0){
         res.push(0);
      }else{
         res.splice(currIndex, undefined, el);
         currIndex++;
      };
   };
   return res;
};
console.log(moveAllZero(arr));

출력

다음은 콘솔 출력입니다 -

[
   5, 1, -3, 4,
   6, 0, 0, 0
]