如何解决通过属性在对象数组中查找值的语法是什么?
在数组对象中查找值的语法是什么?
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 举报,一经查实,本站将立刻删除。