在将项保存到javascript本地存储中之后,我希望根据保存在本地存储中的键检索它们不区分大小写。
例如,如果我将'Test‘作为本地存储中的一个键,则不会返回'Test’的值,因为它区分大小写。不管怎么说,我都想得到这个东西。
是否有一种无需循环本地存储和对我发现的每个键使用toLowerCase()
函数的方法,如下面的代码所示:
for (var i = 0; i < localStorage.length; i++){
if( localStorage.key(i).toLowerCase()==searchedKey.toLowerCase() ){
matchingKey =true;
break;
} }
发布于 2019-02-23 15:39:19
localStorage
是一本字典。它存储密钥/值对。键和值都是string
。
由于字典键必须是唯一的,所以Test
和test
的值不一样,因此必须作为两个单独的条目保存到Dictionary中。
而且,localStorage
没有获得所有添加的键或值的功能,这与C#或Java不同。不知道遗漏此功能的确切原因。这可能是由于安全性的原因,所以流氓JavaScript没有能力查询存储,或者只是保持简单。
通过不区分大小写的键获得值的唯一方法是存储它们不区分大小写。
在将toUpper
或toLower
添加到localStorage
之前,可以在键上使用它。然而,微软表示,转换为大写是最安全的:https://learn.microsoft.com/en-gb/visualstudio/code-quality/ca1308-normalize-strings-to-uppercase?view=vs-2015
https://stackoverflow.com/questions/38661622
复制相似问题