给一个数组 nums 写一个函数将 0 移动到数组的最后面,非零元素保持原数组的顺序
样例:
给出 nums = [0, 1, 0, 3, 12], 调用函数之后, nums = [1, 3, 12, 0, 0].
function moveZero(arr){
arr.forEach((item,index,arr)=>{
if(item ===0){
arr.splice(index,1);
arr.push(0);
}
})
return arr;
}
moveZero([0,1,0,3,12])
[1, 3, 12, 0, 0]
var a = [0,1,0,3,12]
moveZero(a)
[1, 3, 12, 0, 0]
a
[1, 3, 12, 0, 0]
进一步优化更多可以参考:
https://www.jianshu.com/p/84bb98cd7723
foreach循环时问题(待解决):
https://segmentfault.com/a/1190000004340566
https://www.cnblogs.com/blibli/p/7944678.html