检查localStorage中的值是否以字符串和console.log()值名称开头

时间:2018-11-30 14:03:22

标签: javascript local-storage

我有一个可能很难解释的问题...但我会尽力而为。 因此,我在localStorage中有3个值,但我不知道它们的名称。假设有a,b和c。 A值等于“早上好”,B值等于“下午好”,C值等于“糟糕的夜晚”。我要console.log()如果A值,B值或C值startsWith()“好”。所以我真的不知道该怎么做... 有人可以帮助我吗?谢谢。 演示。

3 个答案:

答案 0 :(得分:3)

您可以遍历本地存储并检查其值

implements I1, I2, I3, ...

或更简单地说:

for (var i = 0, i < localStorage.length; i++) {
   var value = localStorage.getItem(localStorage.key(i));
   if (value && value.startsWith('Good') console.log('found it!', key, value);
}

答案 1 :(得分:0)

https://www.w3schools.com/jsref/jsref_startswith.asp

javascript中有startswith函数!

答案 2 :(得分:0)

您可以将字符串“下午好” 作为参数进行传递,它将遍历本地存储以检查其是否存在。

使用 Object.values()方法,如果该函数与传递给该函数的字符串匹配,则将返回 true

const findValue = (value) => Object.values(localStorage).indexOf(value) > -1;

console.log(findValue('Good afternoon')); // true

Alternativley,如果您需要在Internet Explorer浏览器中使用它,我们可以使用 Object.keys() .some()

const findValue = (value) => Object.keys(localStorage).some(key => (localStorage[key] === value));

console.log(findValue('Good afternoon')); // true

仅供参考:Internet Explorer不支持 startWith()