javascript-json文件中的搜索循环
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript-json文件中的搜索循环,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2258字,纯文字阅读大概需要4分钟。
内容图文
![javascript-json文件中的搜索循环](/upload/InfoBanner/zyjiaocheng/683/39972d346c4d4ec3a7749577fb716d64.jpg)
我有两个json文件:房屋和人.我想找到所有住在房子里的人.
这是我的json文件:
屋 :
{
"HOUSES": {
"1": {
"NAME": "House1",
"ID": 1
},
"2": {
"NAME": "House2",
"ID": 2
},
"3": {
"NAME": "House3",
"ID": 3
}
}
}
人:
{
"PEOPLE": {
"1": {
"NAME": "People1",
"HOUSE_ID": 1
},
"2": {
"NAME": "People2",
"HOUSE_ID": 2
},
"3": {
"NAME": "People3",
"HOUSE_ID": 2
}
}
}
我想列出所有与他的房子有关的人.例如:列出House2的所有人.结果将是People2和People3.
我试图做两个for循环:
//var houses and var peoples are the json files.
for(var i in houses){
console.log(houses[i]);
if(peoples.HOUSE_ID == houses[i].ID){
for(var j in peoples){
console.log(peoples[j].HOUSE_ID);
}
}
}
循环不想在if语句中输入.我该怎么办?
谢谢.
编辑:
这是两个console.log()的结果:
HOUSE_ID : { name: 'House1',
id: 1 }
People id { NAME: 'People1',
HOUSE_ID: 1 }
People id { NAME: 'People2',
HOUSE_ID: 2 }
People id { NAME: 'People3',
HOUSE_ID: 2 }
HOUSE_ID : { name: 'House2',
id: 2 }
People id { NAME: 'People1',
HOUSE_ID: 1 }
People id { NAME: 'People2',
HOUSE_ID: 2 }
People id { NAME: 'People3',
HOUSE_ID: 2 }
HOUSE_ID : { name: 'House3',
id: 3 }
People id { NAME: 'People1',
HOUSE_ID: 1 }
People id { NAME: 'People2',
HOUSE_ID: 2 }
People id { NAME: 'People3',
HOUSE_ID: 2 }
解决方法:
您不需要嵌套循环,只需要一个用于人的钥匙,一个就可以获取名称.
使用的方法:
> Object.keys获取对象的所有自己的属性名称
> Array#filter过滤项并仅返回所需的项
> Array#map为每个元素返回一个新值
var data = { "HOUSES": { "1": { "NAME": "House1", "ID": 1 }, "2": { "NAME": "House2", "ID": 2 }, "3": { "NAME": "House3", "ID": 3 } }, "PEOPLE": { "1": { "NAME": "People1", "HOUSE_ID": 1 }, "2": { "NAME": "People2", "HOUSE_ID": 2 }, "3": { "NAME": "People3", "HOUSE_ID": 2 } } },
result = Object.keys(data.PEOPLE).filter(function (k) {
return data.PEOPLE[k].HOUSE_ID === 2;
}).map(function (k) {
return data.PEOPLE[k].NAME;
});
console.log(result);
编辑:
获取所有人民及其房屋.
var data = { "HOUSES": { "1": { "NAME": "House1", "ID": 1 }, "2": { "NAME": "House2", "ID": 2 }, "3": { "NAME": "House3", "ID": 3 } }, "PEOPLE": { "1": { "NAME": "People1", "HOUSE_ID": 1 }, "2": { "NAME": "People2", "HOUSE_ID": 2 }, "3": { "NAME": "People3", "HOUSE_ID": 2 } } };
Object.keys(data.PEOPLE).forEach(function (k) {
console.log(data.PEOPLE[k].NAME + ': ' + data.HOUSES[data.PEOPLE[k].HOUSE_ID].NAME);
});
内容总结
以上是互联网集市为您收集整理的javascript-json文件中的搜索循环全部内容,希望文章能够帮你解决javascript-json文件中的搜索循环所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。