次のコードがあります。
$.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
設定解除し、それが再び発生する必要がある場合、キーが一致しなくなり、他のものを設定解除できなくなります。一度は機能しますが、次の反復では機能しません。
これに対する修正はありますか?