[英]Javascript: Retrieve all keys from sessionStorage?
是否無法檢索我存儲在 sessionStorage(或 localStorage)中的所有鍵/對象?
如果我已經完成sessionStorage.name = 'John'
和sessionStorage.city = 'New York'
,有沒有辦法獲得顯示鍵name
和city
的列表?
獲取顯示密鑰名稱和城市的列表
使用Object.keys()
函數:
sessionStorage.name = 'John';
sessionStorage.city = 'New York';
console.log(Object.keys(sessionStorage));
您可以使用Object.keys()
和reduce()
:
var obj = Object.keys(localStorage).reduce(function(obj, key) {
obj[key] = localStorage.getItem(key);
return obj
}, {});
console.log(obj)
如果你不需要支持IE9以下(或樂於使用一個Polyfills比你可以使用組合Object.keys()和陣列prototype.map()。如下:
Object.keys(localStorage).map(function(c,i,a){
// do whatever
});
Object.keys()
返回傳遞給它的對象的可枚舉值的數組,並具有不枚舉其原型鏈中的任何屬性的額外好處。
然后,您可以使用Array.prototype.map()
對該返回的數組運行操作。
有了這個,您可以將本地存儲中的所有數據分配給一個對象:
let storage = {}
Object.keys(localStorage).forEach((key) => {
storage[key] = localStorage.getItem(key);
});
您可以像這樣獲取鍵及其值。
for (const [key, value] of Object.entries(sessionStorage)) {
console.log({key, value});
};
除了 IE11,這應該可以工作
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.