将 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 ]
广告