我想遍历这个对象,并将'loc'值添加到数组,如果他们的边= 2。我做错了什么?为什么不是这个对象循环工作?
2025是房间的对象,整个房间都是房间。
//Object
{
"2025": {
"tom": {
"side": 1,
"loc": 111
},
"billy": {
"side": 2,
"loc": 222
},
"joe": {
"side": 2,
"loc": 333
},
"bob": {
"side": 1,
"loc": 444
}
}
}
//Code
var side2 = [];
for (var key in rooms[room]) {
if (rooms[room].hasOwnProperty(key)) {
var obj = rooms[room][key];
for (var prop in obj) {
if (obj.hasOwnProperty(prop)) {
if(prop == 'loc') {
if(obj[prop] == 2) {
side2.push(key);
}
}
}
}
}
}
console.log(side2);
因为'loc'属性没有vaue'2'吗?在调试器中逐步完成此操作应该可以帮助您找出问题所在。但是,为什么你要循环查找'loc'的键呢?你可以做'obj.loc'。 – 2015-11-14 03:02:28
对于'loc','side'没有值2。你想做一些事情,比如if(prop =='side')if(obj [prop] == 2){side2.push(key); }' –