问题:
给定一个对象数组,例如:
var jsObjects = [ {a: 1, b: 2}, {a: 3, b: 4}, {a: 5, b: 6}, {a: 7, b: 8} ];
我们如何检索第三个对象({a: 5, b: 6})仅基于特定属性(例如 b)的值,而不使用 for...in 循环?
答案:
数组。 prototype.filter() 方法为这个问题提供了一个优雅的解决方案。它允许我们根据指定的条件过滤数组,并返回一个仅包含匹配元素的新数组。
要根据 b 属性的值过滤对象数组,我们可以使用以下代码:
var result = jsObjects.filter(obj => { return obj.b === 6 })
在此代码中,过滤函数将一个对象作为输入并检查其 b 属性是否等于 6。如果满足条件,则该对象包含在结果中array.
输出:
结果数组将包含以下元素:
[{a: 5, b: 6}]
此方法可以用最少的代码有效地检索所需的对象并且无需遍历数组。
以上是如何通过属性值在数组中查找 JavaScript 对象?的详细内容。更多信息请关注PHP中文网其他相关文章!