在 JavaScript 中使用基于属性的过滤查找数组中的对象
问题:
给定对象数组,如何根据特定属性及其属性查找和提取对象value?
输入:
<code class="javascript">var Obj = [ {"start": 0, "length": 3, "style": "text"}, {"start": 4, "length": 2, "style": "operator"}, {"start": 4, "length": 3, "style": "error"} ];</code>
输出:
查找“start”属性等于的所有对象4. 想要的结果:
<code class="javascript">var result = [ {"start": 4, "length": 2, "style": "operator"}, {"start": 4, "length": 3, "style": "error"} ];</code>
解决方案:
要实现此目的,您可以利用 JavaScript 数组的 filter() 函数。 filter() 函数采用回调函数作为其参数,该函数应用于数组中的每个元素。该函数返回一个布尔值,指示该元素是否应包含在新数组中。
在我们的例子中,我们希望包含“start”属性等于 4 的所有对象。以下是您的操作方法会这样做:
<code class="javascript">var result = Obj.filter(x => x.start === 4);</code>
这将创建一个名为 result 的新数组,其中仅包含满足过滤条件的对象。在此示例中,结果将是:
<code class="javascript">[ {"start": 4, "length": 2, "style": "operator"}, {"start": 4, "length": 3, "style": "error"} ]</code>
以上是如何根据特定属性值过滤 JavaScript 数组中的对象?的详细内容。更多信息请关注PHP中文网其他相关文章!