在 JavaScript 中过滤对象数组
给定一个对象数组,通常需要根据特定条件搜索和过滤它们。下面介绍如何在 JavaScript 中过滤对象数组,重点是查找名称等于“Joe”且年龄小于 30 岁的对象。
Array.prototype.filter() 方法:
Array.prototype.filter() 方法允许您通过基于给定函数过滤原始数组来创建新数组。在我们的例子中,该函数会将对象的名称和年龄与条件进行比较。
<code class="js">const found_names = names.filter(v => v.name === "Joe" && v.age < 30);</code>
此解决方案使用箭头函数 (ES6) 来测试数组中的每个元素。如果名称和年龄条件都满足,则该元素将包含在新数组中。
jQuery.grep() 函数:
如果您使用jQuery,您还可以使用 jQuery.grep() 函数来执行过滤。
<code class="js">var found_names = $.grep(names, function(v) { return v.name === "Joe" && v.age < 30; });</code>
jQuery.grep() 接受一个数组和一个回调函数作为参数。回调函数与第一个解决方案中的箭头函数类似,根据指定条件评估数组中的每个元素。
以上是如何在 JavaScript 中过滤对象数组?的详细内容。更多信息请关注PHP中文网其他相关文章!