微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

通过属性在对象数组中查找值的语法是什么?

如何解决通过属性在对象数组中查找值的语法是什么?

在数组对象中查找值的语法是什么?

var pStData = [];

pStData.push({ st: 'WV',geom: 'xxx' });
pStData.push({ st: 'TX',geom: 'yyy' });

var sGeom = pStData.find(pStData => pStData.st == 'TX').geom;

console.log(sGeom);

在我的代码中,pStData.find(pStData => pStData.st == 'TX')undefined

解决方法

除了根本没有jQuery之外,您正在将数组定义为对象数组。定义这样的对象:

var pStData = {};
pStData['WV'] = {geom: 'xxx'};
pStData['TX'] = {geom: 'yyy'};

然后您可以通过以下方式简单地访问

var sGeom = pStData['WV'].geom;

您也可以通过以下方式访问它

var sGeom = pStData.WV.geom;

当然,如果只查找字符串值,则不需要定义对象,例如,这同样适用。

var pStData = {};
pStData['WV'] = 'xxx';
pStData['TX'] = 'yyy';

但是,如果以后需要添加额外的数据值,则将其定义为对象确实可以将来验证您的代码。永远不要害怕做一些将来的证明,它以后可以节省很多工作。

,

使用此功能:

python

所以,在您的情况下:

 function findObjectInArrayByProperty(array,propertyName,propertyValue) {
      return array.find((o) => { return o[propertyName] === propertyValue });
 }

output-> {st:'TX',geom:'yyy'}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。