在 JavaScript 对象数组中查找匹配值
JavaScript 程序员经常遇到需要在对象数组中搜索特定值的情况。本文介绍了完成此任务的各种方法,重点介绍 find()、findIndex()、filter() 和 map() 方法。
示例数组
考虑以下 JavaScript 对象数组:
myArray = [{'id':'73','foo':'bar'},{'id':'45','foo':'bar'},{'id':'67','foo':'baz'}];
查找特定的对象
要检索 id 为 45 的对象,请使用 find() 方法:
const matchingObject = myArray.find(x => x.id === '45');
获取属性值
如果要检索匹配对象的 foo 属性值,请使用点表示法:
const fooValue = matchingObject.foo;
查找对象的索引
要确定匹配对象的索引,请使用 findIndex() 方法:
const matchingIndex = myArray.findIndex(x => x.id === '45');
过滤匹配对象
至创建一个仅包含匹配对象的数组,使用 filter() 方法:
const matchingObjects = myArray.filter(x => x.id === '45');
映射匹配值
提取匹配的 foo 属性值的数组,链接filter()和map()方法:
const fooValues = myArray.filter(x => x.id === '45').map(x => x.foo);
浏览器兼容性注意
旧版浏览器不支持箭头函数和一些数组方法,例如 find()。考虑将 Babel 与适当的 polyfill 一起使用以实现兼容性。
以上是如何从 JavaScript 对象数组中高效查找和提取数据?的详细内容。更多信息请关注PHP中文网其他相关文章!