javascript - 根据属性值使用 lodash 过滤对象数组

标签 javascript filter filtering lodash

我们有一个这样的对象数组

var myArr = [ {name: "john", age: 23},
              {name: "john", age: 43},
              {name: "jim", age: 101},
              {name: "bob", age: 67} ];

如何从 myArr 中获取名称为 john 和 lodash 的对象列表?

最佳答案

使用 lodash _.filter 方法:

_.filter(collection, [predicate=_.identity])

遍历集合的元素,返回所有元素的数组 predicate returns truthy for。使用三个参数调用谓词: (值、索引|键、集合)。

将谓词作为自定义函数

 _.filter(myArr, function(o) { 
    return o.name == 'john'; 
 });

将谓词作为过滤对象的一部分(_.matches iteratee 速记)

_.filter(myArr, {name: 'john'});

将谓词作为 [key, value] 数组(_.matchesProperty iteratee 简写。)

_.filter(myArr, ['name', 'John']);

文档引用:https://lodash.com/docs/4.17.4#filter

关于javascript - 根据属性值使用 lodash 过滤对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35182904/

相关文章:

javascript - 我如何在纯javascript中实现像jquerys.data()这样的东西?

r - 按组高效过滤多列

css - 什么是 CSS 过滤器属性,它是如何工作的?

java - 数据 View 概念/库/模式?

javascript - 如何使用javascript/Jquery一次打印不同页面中的表格

javascript - spoofer.js : An unexpected error has occurred, 我应该担心吗?

javascript - Google Sheets API Node 客户端库最小示例

matlab - 如何将低通或高通滤波器应用于 Matlab 中的数组?

javascript - 对象的过滤器和唯一数组

javascript - 如何使用箭头函数按列表过滤属性