首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从动态密钥中获取localstorage值

从动态密钥中获取localstorage值
EN

Stack Overflow用户
提问于 2017-05-31 04:51:47
回答 3查看 942关注 0票数 0

我已经在网上和stackoverflow上找到了这个问题的答案。

如何从也嵌套在本地存储中的动态键中检索值。我尝试了许多例子,但似乎一无所获。我知道执行任务需要一个循环,但是需要哪种类型的循环。

如何从localstorage获取具有嵌套动态密钥SCI-4的'uniqid‘值,该值为:

代码语言:javascript
复制
simpleCart_items:{"SCI-4":{"quantity":4,"id":"SCI-4","price":8,"name":"12 fried chicken","flavours":"cola","code":"1001","cartid":"561","uniqid":"592dcd08b5fcc"}}

这允许我查看本地存储。

代码语言:javascript
复制
var obj = localStorage;                   
Object.keys(obj).forEach(function(key){
    var value = obj[key];
    console.log(key + ':' + value);
});

我如何迭代以获得任何值?

这个问题的不同之处在于,我寻求从具有动态值的嵌套键中获取值。如果密钥未知,如何拉取值?循环应该是什么样子的?

EN

回答 3

Stack Overflow用户

发布于 2017-05-31 05:01:28

认为这就是您要找的,:)

代码语言:javascript
复制
Object.keys(obj).forEach(function (key) {
Object.keys(obj[key]).forEach(function (val) {
  //console.log(val);
  if(val === "uniqid")
  {
   //logic here
   console.log(obj[key][val]);
  }
});

});

票数 0
EN

Stack Overflow用户

发布于 2017-05-31 05:12:50

如果您只是将您的结构存储为单个键的单个值,那么在以后提取它非常容易。

代码语言:javascript
复制
// How do I get the 'uniqid' value which has the nested dynamic key SCI-4 from localstorage which reads:

// This is our simulated result from pulling from localStorage
var lsString = `{ 
                  "simpleCart_items": { 
                      "SCI-4": {
                        "quantity":4,
                        "id":"SCI-4",
                        "price":8,
                        "name":"12 fried chicken",
                        "flavours":"cola",
                        "code":"1001",
                        "cartid":"561",
                        "uniqid":"592dcd08b5fcc"
                       }
                   }
}`;


// First, remember that localStorage stores strings, so we must parse the string 
// back into an object:
var lsObj = JSON.parse(lsString);

var keyName = Object.keys(lsObj.simpleCart_items).toString();

// Now, we can go directly to the property we want:
console.log(lsObj.simpleCart_items[keyName].uniqid);

票数 0
EN

Stack Overflow用户

发布于 2017-05-31 14:39:07

睡个好觉之后。我能够取得进展。谢谢你们给我指了个正确的方向。有许多观点和方法来完成其中一些令人困惑的功能。

需要正确访问localStorage,如下所示。该问题主要通过以下方式解决:

代码语言:javascript
复制
var obj = JSON.parse(localStorage.simpleCart_items);

                        Object.keys(obj).forEach(function (key) {
                            Object.keys(obj[key]).forEach(function (val) {
                                //console.log(val);
                                if (val === "quantity")
                                {
                                    //logic here
                                    console.log(obj[key][val]);
                                }
                            });
                        });
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44271710

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档