簡體   English   中英

JavaScript本地存儲:是否請求所有數據?

[英]JavaScript local storage: Requesting all data?

有沒有辦法在一個調用中檢索本地存儲中的所有數據?

不使用特定鍵(getItem('key')。

我喜歡的是加載所有數據,然后檢查它們的特定前綴。

Object.getOwnPropertyNames(localStorage)
      .filter(key => localStorage[key].startsWith("e"))
      .map(key => localStorage[key]);

這會給你所有的鑰匙

var local = localStorage;
for (var key in local) {
  console.log(key);
}

您也可以使用Object.keys()

Object.keys()方法返回給定對象自己的可枚舉屬性的數組,其順序與for ... in循環所提供的順序相同(區別在於for-in循環枚舉原型鏈中的屬性為:好)。

console.log(Object.keys(localStorage))

如果要獲取某些帶有您的自定義前綴的靜態項目,則可以首先檢索所有localStorage密鑰,對其進行過濾,然后檢索數據:

ES5

var prefix = 'your-prefix:'

var filteredStorage = Object.keys(localStorage)
  .filter(function(key) {
    return key.startsWith(prefix)
  })
  .map(function(key){
    return localStorage.getItem(key)
  })

ES2015

let prefix = 'your-prefix:'  
let filteredStorage = Object.keys(localStorage)
  .filter(key => key.startsWith(prefix))
  .map(key => localStorage.getItem(key))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM