gpt4 book ai didi

javascript - Javascript 拼接方法中的奇怪错误

转载 作者:数据小太阳 更新时间:2023-10-29 04:59:44 27 4
gpt4 key购买 nike

我有一个包含“Zeros”的数组,我想移动所有数组最后一个索引的“零”。

预期的输出是:

[1,2,3,0,0,0,0]

但我得到的是:

[1,2,0,3,0,0,0]

let a = [0, 1, 2, 0, 0, 3, 0];
let count = 0;
let len = a.length;

for (i = 0; i < len; i++) {
if (a[i] == 0) {
count = count + 1;
a.splice(i, 1);
}
}

for (j = 0; j < count; j++) {
a.push(0);
}

console.log(a);

最佳答案

当您从数组中删除项目时,所有元素都会向下移动一位。当您推进索引 (i++) 时,您会跳过数组中下移的项目,该项目恰好是数组中的连续零。

解决方案:向后执行 for next 循环,它会起作用。

关于javascript - Javascript 拼接方法中的奇怪错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56827326/

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