通过匹配 JavaScript 数组中的值来查找对象
当遇到 JavaScript 对象数组时,根据匹配属性检索特定对象价值可能具有挑战性。本文探讨了可轻松找到此类对象的有效方法。
find() 方法
JavaScript 的 find() 方法提供了一个简单的解决方案。它的语法是:
find(predicateFunction)
其中 predicateFunction 是一个回调,它返回一个布尔值,指示当前元素是否满足搜索条件。要查找“id”属性具有匹配值的对象,我们可以使用以下代码:
myArray.find(x => x.id === '45').foo;
findIndex() 方法
如果您如果只对匹配对象的索引感兴趣,则 findIndex() 方法可能很有用。它的语法是:
findIndex(predicateFunction)
下面的代码将返回“id”属性设置为“45”的对象的索引:
myArray.findIndex(x => x.id === '45');
过滤器( ) 方法
要获取包含所有匹配对象的数组,filter() 方法提供了一个便捷的解决方案。其语法为:
filter(predicateFunction)
以下代码将返回“id”属性设置为“45”的对象数组:
myArray.filter(x => x.id === '45');
map( ) 方法
最后,如果你需要一个只包含特定属性的匹配值的数组,map()方法可以被使用。其语法为:
map(transformFunction)
下面的代码将为“id”属性设置为“45”的对象返回“foo”属性值数组:
myArray.filter(x => x.id === '45').map(x => x.foo);
浏览器兼容性说明
值得注意的是,像 Internet Explorer 这样的浏览器可能不支持现代方法就像 find() 和 filter() 一样。为了与这些浏览器兼容,请考虑使用 Babel 和适当的 polyfill 来转译您的代码。
以上是如何根据属性值高效查找JavaScript对象?的详细内容。更多信息请关注PHP中文网其他相关文章!