在JavaScript对象数组中按ID查找对象

问题描述

使用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);

解决方法

我有一个数组:

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

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

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

猜你在找的技术问答相关文章

如何检查配对的蓝牙设备是打印机还是扫描仪(Android)
是否允许实体正文进行HTTP DELETE请求?
如何将ZipInputStream转换为InputStream?
java.util.logging Java 8中的变量
PowerMockito.doReturn返回null
Java中的RESTful调用
Swing / Java:如何正确使用getText和setText字符串
特殊字符和重音字符
Android Studio中的ndk.dir错误
错误“找不到主类”