将 JavaScript 中数组中的所有零移动到末尾


问题

我们需要编写一个 JavaScript 函数,该函数接受一个可能包含一些 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
]

更新于:17-Apr-2021

473 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告