我有一个数组:
myArray = [{'id':'73','foo':'bar'},{'id':'45','foo':'bar'}, etc.]
我无法更改数组的结构。我正在传递ID为45,我想获取'bar'数组中的该对象。
如何在JavaScript或jQuery中做到这一点?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
使用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