将数组中指定元素移动到数组末端

//ES6箭头函数写法
const moveZero = (arr) => {
  let y = 0;//定义y用于控制循环结束
  for (let i = 0; y < arr.length; y++) {
    if (arr[i] === 0) arr.push(arr.splice(i, 1)[0]);//循环到是0的位置就删除该元素0并且在arr末尾push进这个元素0,由于splice删除了该位置元素,所以i不用+1,下次循环仍然检查i位置的元素
    else i++;//循环到不是0的位置就继续往后循环
  }
  return arr;//返回操作后的原数组
};
 
//运行如下:
moveZero([2,0,0,1,0,3]);//[2,1,3,0,0,0]

猜你喜欢

转载自www.cnblogs.com/xhrr/p/12582100.html