【发布时间】:2015-11-14 02:56:05
【问题描述】:
如果他们的边 = 2,我想遍历这个对象并将“loc”值添加到数组中。我做错了什么?
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属性有值2?在调试器中逐步执行此操作应该可以帮助您弄清楚。但是你为什么要遍历查找loc的键呢?你可以做obj.loc。 -
是的,
loc没有值 2,但side没有值 2。你想做类似if(prop == 'side') { if(obj[prop] == 2) { side2.push(key); }
标签: javascript arrays loops object for-loop