首页 > 解决方案 > Jquery 从 LocalStorage 检索具有相同起始模式的多个键

问题描述

考虑我正在使用以下方式存储 5 个数据localStorage.setItem()

{“abc1”:“是”,“abc2”:“是”,“abc3”:“是”,“uvw”:“否”,“xyz”:“否”}

对于检索,我们可以使用localStorage.getItem(). 但是在这里我需要检索键名以字符串“abc”开头的所有键值对,即检索键"abc1""abc2""abc3"

这是我尝试过的:

var a = {}, 
keys = Object.keys(localStorage),
l = keys.length;
        
while (l--) { 
  a[keys[l]] = localStorage.getItem(keys[l]);
  if(a[keys[l]].startsWith('abc') == "true") {
    alert(a[keys[l]]);
  }
}

 

请帮我。

标签: jquerylocal-storagekeyvaluepair

解决方案


你有两个问题。

  1. startsWith()返回一个布尔值,而不是一个字符串。
  2. 您正在检查是否以开头abc,而不是键。
var a = {};
Object.entries(localStorage).forEach(([key, value]) => {
  if (key.startsWith("abc")) {
    a[key] = value;
  }
});
console.log(a);

推荐阅读