开发者社区 问答 正文

通过ID在JavaScript对象数组中查找对象

我有一个数组:

myArray = [{'id':'73','foo':'bar'},{'id':'45','foo':'bar'}, etc.]

我无法更改数组的结构。我正在传递ID为45,我想获取'bar'数组中的该对象。

如何在JavaScript或jQuery中做到这一点?

展开
收起
保持可爱mmm 2020-01-08 16:47:06 538 分享 版权
1 条回答
写回答
取消 提交回答
  • 使用find()方法:

    myArray.find(x => x.id === '45').foo;

    从MDN:

    find()如果数组中的元素满足提供的测试功能,则该方法将返回数组中的第一个值。否则undefined返回。
    

    如果要查找其索引,请使用findIndex():

    myArray.findIndex(x => x.id === '45');

    从MDN:

    该findIndex()方法返回满足提供的测试功能的数组中第一个元素的索引。否则返回-1。
    

    如果要获取匹配元素的数组,请改用filter()方法:

    myArray.filter(x => x.id === '45');

    这将返回一个对象数组。如果要获取foo属性数组,可以使用以下map()方法:

    myArray.filter(x => x.id === '45').map(x => x.foo);

    问题来源于stack overflow

    2020-01-08 16:51:35
    赞同 展开评论