Javascript 在localstroge中查找项值
我有一个$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
{"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。等一下,让我在这里加上代码。。