从嵌套值获取父对象

时间:2016-05-06 00:36:47

标签: javascript arrays parent

你可以用什么javascript代码返回提供id参数1的person1对象或提供id参数2的person2对象?

  {
        person1: 
        {
            id: 1,
            name: 'john'
        },
       person2: 
        {
            id: 2,
            name: 'doe'
        }
    }

2 个答案:

答案 0 :(得分:3)

您可以使用for循环来迭代对象的属性。

var obj = {
    person1: 
    {
        id: 1,
        name: 'john'
    },
    person2: 
    {
        id: 2,
        name: 'doe'
    }
};
var id_to_find = 1;
var name_found;
for (var name in obj) {
    if (obj[name].id == id_to_find) {
        name_found = name;
        break;
    }
}

答案 1 :(得分:1)

你可以使用foreach循环遍历它们。让我们说我们有你的对象:

var obj = {
  person1: {
    id: 1,
    name: 'john'
  },
  person2: {
    id: 2,
    name: 'doe'
  }
}

然后你只需循环找到那个......所以我们假设你有这个ID。

var ID = 2;
for (var i in obj) {
   if(obj[i].id == ID){
    result = obj[i]; //this is person2...
   }
}

我希望这就是你要求的......你的问题不是很清楚。