Javascript 根据特定字段值从对象中抓取对象

Javascript 根据特定字段值从对象中抓取对象,javascript,Javascript,以我的角度 此.device返回15对象。每个对象都包含一个数据类型字段,并且在所有15个对象上都有不同的值。只有当dataType==“PROTOCOL”我有权访问underline.js时,我才会抓取/访问它,但在这个项目中,我没有它 this.device.protocol = _.find(this.device, {dataType: "PROTOCOL"}); 无需执行for循环,JS如何访问该属性?您可以使用并检查所需的属性 this.device.proto

以我的角度

此.device返回
15
对象。每个对象都包含一个
数据类型
字段,并且在所有15个对象上都有不同的值。只有当
dataType==“PROTOCOL”
我有权访问underline.js时,我才会抓取/访问它,但在这个项目中,我没有它

this.device.protocol = _.find(this.device, {dataType: "PROTOCOL"});
无需执行for循环,JS如何访问该属性?

您可以使用并检查所需的属性

this.device.protocol = this.device.filter(({dataType}) => dataType == "PROTOCOL")[0];
你可以用

find()方法返回所提供数组中满足所提供测试函数的第一个元素的值。如果没有值满足测试函数,则返回undefined


哇!喜欢GitHub链接。谢谢。它返回一个数组,所以您需要将[0]添加到我添加的行的末尾。谢谢你指出我的遗漏,@Helix.cleaner,我喜欢这个发现()
this.device.protocol = this.device.find(x => x.dataType === "PROTOCOL");