gpt4 book ai didi

javascript - 使用 ES6 功能移动数组中的零

转载 作者:搜寻专家 更新时间:2023-11-01 04:46:59 25 4
gpt4 key购买 nike

我是 ES6 的新手,试图制作一个函数,将数组中的所有零移动到数组的最后一个位置,同时保留数组的原始顺序例如。 [1,0,0,0,2,3,4,5] => [1,2,3,4,5,0,0,0]

 function moveZeros (arr) {
let zeroArr = [];
for(let i = 0;i < arr.length;i++) {
if (arr[i] == 0) {
zeroArr.push(arr[i]);
arr.splice(i, 1);
}
}
arr.push(...zeroArr);
return arr;
}

这是我的代码,它运行良好,但我认为在使用一些 ES6 功能时可以更短。有人可以提供更好的解决方案

最佳答案

使用 filter 函数和 spread 运算符可以很容易地解决这个问题,.

const moveZeros = arr => {
const z = arr.filter(a => a === 0); // get all zeroes
const nZ = arr.filter(a => a !== 0); // get all non zeroes
return [...nZ, ...z]; // put the zeroes on the last position
};

关于javascript - 使用 ES6 功能移动数组中的零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53631233/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com