我试图将项目插入localStorage并循环遍历它,这是代码
localStorage.setItem(1,'Lorem');
localStorage.setItem(2,'Ipsum');
localStorage.setItem(3,'Dolor');
for(var i in window.localStorage){
console.log(i);
}
这是我在Firefox上获得的输出,它似乎在Chrome上正常工作
3
2
1
key
getItem
setItem
removeItem
clear
length
输出似乎是3个值+本地存储的函数和长度我只想输出我的值。 不能使用localstorage.length循环,因为我打算插入和删除值。
答案 0 :(得分:0)
它类似于对象的循环方式。您需要遍历Object.hasOwnProperty
:
localStorage.setItem(1, 'Lorem');
localStorage.setItem(2, 'Ipsum');
localStorage.setItem(3, 'Dolor');
for (var i in window.localStorage) {
if (window.localStorage.hasOwnProperty( i ))
console.log(i);
}
我真的很惊讶你输出的结果,就像我尝试使用Chrome一样,我得到了这个:
答案 1 :(得分:0)
你需要检查它是否不是物体的物体,例如长度,原型功能等...... 因此,在继续对象之前,需要在对象上调用hasOwnProperty。
for(var i in window.localStorage){
if(window.localStorage.hasOwnProperty(i)) {
console.log(i);
}
}