检索存储在sessionStorage(或localStorage)中的所有密钥/对象是不可能的?
如果我已完成sessionStorage.name = 'John'
和sessionStorage.city = 'New York'
,是否有办法获取显示密钥name
和city
的列表?
答案 0 :(得分:3)
获取显示键名称和城市
的列表
使用Object.keys()
功能:
sessionStorage.name = 'John';
sessionStorage.city = 'New York';
console.log(Object.keys(sessionStorage));
答案 1 :(得分:0)
如果您不需要支持IE9或更少(或者很乐意使用Polyfill,那么您可以使用Object.keys()和Array. prototype.map()的组合,如下所示:
Object.keys(localStorage).map(function(c,i,a){
// do whatever
});
Object.keys()
返回传递给它的对象的可枚举值的数组,其附加好处是不枚举其原型链中的任何属性。
然后,您可以使用Array.prototype.map()
对此返回的数组执行操作。
答案 2 :(得分:0)
您可以使用Object.keys()
和reduce()
:
var obj = Object.keys(localStorage).reduce(function(obj, key) {
obj[key] = localStorage.getItem(key);
return obj
}, {});
console.log(obj)
答案 3 :(得分:0)
使用此方法,您可以将本地存储中的所有数据分配给一个对象:
let storage = {}
Object.keys(localStorage).forEach((key) => {
storage[key] = localStorage.getItem(key);
});
答案 4 :(得分:0)
您可以像这样获取键和它们的值。
for (const [key, value] of Object.entries(sessionStorage)) {
console.log({key, value});
};
这应该可以工作,除了 IE11