gpt4 book ai didi

javascript - 在循环中取消设置 javascript 数组?

转载 作者:行者123 更新时间:2023-11-30 17:54:38 26 4
gpt4 key购买 nike

我有以下代码:

  $.each(current, function(index, value) {
thisArray = JSON.parse(value);
if (thisArray.ttl + thisArray.now > now()) {
banned.push(thisArray.foodID);
}
else{
current.splice(index,1);
}
});

以下行有问题:

current.splice(index,1);

发生的事情是它(可能)取消设置第一个符合 else 条件的情况,然后当它必须再次发生时,键不再匹配并且它不能取消任何其他设置。它工作一次,但在接下来的迭代中不起作用。

有解决办法吗?

最佳答案

您可以使用常规的 for 循环,并向后循环:

for(var i=current.length-1; i>= 0; i--) {
var thisArray = JSON.parse(current[i]);
if (thisArray.ttl + thisArray.now > now()) {
banned.push(thisArray.foodID);
} else {
current.splice(i, 1);
}
});

而且看起来 thisArray 实际上是一个对象,而不是一个数组...

关于javascript - 在循环中取消设置 javascript 数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18292922/

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