Javascript-使用查找获取对象ID

时间:2018-11-07 17:46:48

标签: javascript arrays algorithm object search

我有一个嵌套数组,并且我知道人的ID(person.id),但正在尝试查找对象的ID。如此有效的“父母” ID。

{

         {
                "id": "12345",
                "person": {
                  "id": "435345345345345",
                  "first_name": "Jim",
                  "last_name": "Smith",
        },
 {
                "id": "56789",
                "person": {
                  "id": "3434534534543",
                  "first_name": "Tony",
                  "last_name": "Black",
        },

}

这将返回该人

const id = this.people.find(person  => person.id === myid)


{
  "id": "435345345345345",
  "first_name": "Jim",
  "last_name": "Smith",
},

但是,我看不到获取ID的明显方法(12345)。我查看了所有标准数组函数,但似乎没有什么合适的。

2 个答案:

答案 0 :(得分:3)

您可以使用Array.find()方法!

var myid = '435345345345345';

var  users = [
  {
    "id": "12345",
    "person": {
      "id": "435345345345345",
      "first_name": "Jim",
      "last_name": "Smith",
    }
  },

  {
    "id": "56789",
    "person": {
      "id": "3434534534543",
      "first_name": "Tony",
      "last_name": "Black",
    },
  }
];

var result = users.find(obj => obj.person.id === myid);
console.log('Object: ' + result);
console.log('Required ID: ' + result.id);

答案 1 :(得分:0)

我知道您可能希望坚持使用标准库,但可以尝试使用lodash的发现https://lodash.com/docs/4.17.10#find

下面是返回整个对象的示例:

https://runkit.com/rgomezs4/5be32606c9a3790013b4e4fc