Javascript 在localstroge中查找项值

Javascript 在localstroge中查找项值,javascript,java,angularjs,arrays,Javascript,Java,Angularjs,Arrays,我有一个$localstroge,其存储值如下: {"EmployerDetails":{"Distance":30,"EmpLatitude":51.3353899,"EmpLongitude":-0.742856,"EmpNo":39424,"Insitution":null,"PlaceName":"Camberley","TalentPoolLicences":[{"Membership":[{"Identity":39424,"Name":"Weydon Secondary Schoo

我有一个$localstroge,其存储值如下:

{"EmployerDetails":{"Distance":30,"EmpLatitude":51.3353899,"EmpLongitude":-0.742856,"EmpNo":39424,"Insitution":null,"PlaceName":"Camberley","TalentPoolLicences":[{"Membership":[{"Identity":39424,"Name":"Weydon Secondary School"}],"TalentPoolType":1},{"Membership":[{"Identity":2,"Name":"North East Hampshire"},{"Identity":4,"Name":"Surrey"},{"Identity":8,"Name":"Surrey"}],"TalentPoolType":3}]},"FacetFilters":{"LastActivity":0,"LocationFilterType":1,"fullorparttime_pex":null,"religion":null,"soughtphase_swk":null,"soughtrole_swk":null,"soughtsubject_swk":null},"LookingFor":null,"OrderBy":null,"PageIndex":1,"PageSize":40}
如何从EmployeerDetails中获取身份值。我试过以下方法,但在条件允许的情况下,它永远不会进入室内:

  for (var i = 0; i < localStorage.length; i++) {      
 if (localStorage.getItem(localStorage.key(i)) === 'EmployerDetails')
            { console.log('hello'); }
}
for(var i=0;i

有什么帮助吗?

您是否尝试将其转换为json对象,然后获取值?

您是否尝试将其转换为json对象,然后获取值?

当您搜索嵌套键时,首先需要获取该对象,还需要使用json将其解析为json。解析然后您可以像我们在中所做的那样继续普通javascript对象的大小写

localStorage.getItem('signup-prefs')
这给了我一个包含我的对象的字符串

""name":"google","oauth_version":"2.0","oauth_server":"https://accounts.google.com/o/oauth2/auth","openid":"","username":""}"
解析它之后,我们可以得到对象,现在我们可以找到所需的属性

JSON.parse(localStorage.getItem('signup-prefs'))

来解决你的问题

假设您的员工信息是这样的,我没有在这里显示所有字段

var empData = {"EmployerDetails":Distance":30,"EmpLatitude":51.33538}}
然后你像这样设置键

localstorage.setItem('empData', JSON.stringify(empData))
现在,按键获取字符串对象并将其解析为Json,然后从对象循环中找到所需的键以获得结果。我还没有测试它,但我相信它会工作。如果没有,请告诉我

for (var i = 0; i < localStorage.length; i++) {
     if (localStorage.key(i) === 'empData') {

        // Parse the string to json

         var empData = JSON.parse(localStorage.getItem('empData'));

        // get all the keys
         var keys = Object.keys(empData);

         for (var idx = 0; idx < keys.length; idx++) {
            // find the desired key here
             if (keys[idx] == 'EmployeeDetails') {
                 var empDetails = empData[keys[idx]]
             }
         }
     }
 }
for(var i=0;i
代码的一个重要方面是 此语句
localStorage.key(i))===“EmployerDetails”
返回true或false,如下所示
if(localStorage.getItem(localStorage.key(i))====“EmployerDetails”)
将永远不会执行,因为您没有任何具有该名称的密钥(实际上,我们不应该使用关键字作为密钥).

当您首先搜索嵌套键时,您需要获取对象,还需要使用JSON.parse将其解析为JSON,然后您可以像我们在普通javascript对象上所做的那样继续

localStorage.getItem('signup-prefs')
这给了我一个包含我的对象的字符串

""name":"google","oauth_version":"2.0","oauth_server":"https://accounts.google.com/o/oauth2/auth","openid":"","username":""}"
解析它之后,我们可以得到对象,现在我们可以找到所需的属性

JSON.parse(localStorage.getItem('signup-prefs'))

来解决你的问题

假设您的员工信息是这样的,我没有在这里显示所有字段

var empData = {"EmployerDetails":Distance":30,"EmpLatitude":51.33538}}
然后你像这样设置键

localstorage.setItem('empData', JSON.stringify(empData))
现在,按键获取字符串对象并将其解析为Json,然后从对象循环中找到所需的键以获得结果。我还没有测试它,但我相信它会工作。如果没有,请告诉我

for (var i = 0; i < localStorage.length; i++) {
     if (localStorage.key(i) === 'empData') {

        // Parse the string to json

         var empData = JSON.parse(localStorage.getItem('empData'));

        // get all the keys
         var keys = Object.keys(empData);

         for (var idx = 0; idx < keys.length; idx++) {
            // find the desired key here
             if (keys[idx] == 'EmployeeDetails') {
                 var empDetails = empData[keys[idx]]
             }
         }
     }
 }
for(var i=0;i
代码的一个重要方面是 此语句
localStorage.key(i))===“EmployerDetails”
返回true或false,如下所示
if(localStorage.getItem(localStorage.key(i))====“EmployerDetails”)
将永远不会执行,因为您没有任何具有该名称的密钥(实际上,我们不应该使用关键字作为密钥).

您能在将项目设置为本地存储的位置发布代码吗?您能在将项目设置为本地存储的位置发布代码吗?干杯,我已经开始工作了。谢谢你在这方面的帮助。但是,如果存在匹配值,最好了解您更喜欢的方法。有几种方法可以像您一样执行Object.keys。等一下,让我在这里添加代码。干杯,身体,我让它工作了。谢谢你在这方面的帮助。但是,如果存在匹配值,最好了解您更喜欢的方法。有几种方法可以像您一样执行Object.keys。等一下,让我在这里加上代码。。