Javascript Get js localstorage items不区分大小写

Javascript Get js localstorage items不区分大小写,javascript,html,local-storage,Javascript,Html,Local Storage,在javascript本地存储中保存项目后,我希望根据本地存储中保存的密钥检索它们,不区分大小写 例如,如果我在本地存储localstorage.getItem(“Test”)中将“Test”作为键;不返回“Test”的值,因为它区分大小写。我希望能够得到的项目,无论 有没有一种方法可以做到这一点,而不必循环本地存储并对我在下面代码中找到的每个键使用toLowerCase()函数: for (var i = 0; i < localStorage.length; i++){

在javascript本地存储中保存项目后,我希望根据本地存储中保存的密钥检索它们,不区分大小写

例如,如果我在本地存储localstorage.getItem(“Test”)中将“Test”作为键;不返回“Test”的值,因为它区分大小写。我希望能够得到的项目,无论

有没有一种方法可以做到这一点,而不必循环本地存储并对我在下面代码中找到的每个键使用
toLowerCase()
函数:

    for (var i = 0; i < localStorage.length; i++){
    if( localStorage.key(i).toLowerCase()==searchedKey.toLowerCase() ){
    matchingKey =true;
    break;
    }        }
for(var i=0;i
localStorage
是一本字典。它存储键/值对。键和值都是
字符串

由于字典键必须是唯一的,所以
Test
Test
等值不相同,因此必须作为两个单独的条目保存到字典中

另外,
localStorage
与C#或Java不同,它没有获取所有添加键或值的功能。不知道丢失此功能的确切原因。这可能是由于安全原因,因此流氓JavaScript无法查询存储,或者只是保持简单

通过不区分大小写的键获取值的唯一方法是存储它们,不区分大小写


在将其添加到
localStorage
之前,可以在键上使用
toUpper
toLower
。然而,微软表示转换成大写是最安全的:

当同时存在
Test
Test
时,你会怎么做?…在写入本地存储时执行.toLowerCase()。我允许存在Test和Test,因为我使用的键与文件名的概念相同,因此,当您保存测试并尝试保存一个新的文件名测试时,它将覆盖旧的文件名测试并警告您已经有了它@nicaelI在写入localstorage时使用了toLowerCase(),但我希望用户在搜索我提供的列表时看到他是如何准确保存的@Jonas@NatalieBoudakian如果
Test
Test
是“相同的”,您可能应该在存储时对它们进行规范化。如果要保持原始大小写可用,请将其作为值的一部分。如果
Test
Test
不同,那么在执行不区分大小写的查找(一组匹配项)时,您希望看到什么?我不认为API公开了这个选项,所以我认为循环是最好的选择。当然,您也可以在初始化过程中循环一次,然后在关注性能的情况下自行维护一个查找作为优化。