为什么“localStorage.removeItem”会停止循环?如果我删除“localStorage.removeItem”并只保留“警报”,它会循环遍历整个过程,但对于“localStorage.removeItem”,它会在第一个匹配项停止。
function removeTask() {
for (i=0; i < localStorage.length; i++){
checkbox = document.getElementById('utford'+i);
if (checkbox.checked == true) {
alert(i);
localStorage.removeItem(localStorage.key(i));
}
}
printList();
}
最佳答案
如果您删除一个项目,键会向下移动一个索引。您需要向后循环。
function removeTask() {
for (var i=localStorage.length-1; i>=0; i--){
var checkbox = document.getElementById('utford'+i);
if (checkbox.checked == true) {
localStorage.removeItem(localStorage.key(i));
}
}
printList();
}
关于JavaScript 循环在 "localStorage.removeItem"处停止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13162896/