📜  Lodash _.filter() 方法

📅  最后修改于: 2022-05-13 01:56:19.548000             🧑  作者: Mango

Lodash _.filter() 方法

Lodash 是一个基于 underscore.js 的 JavaScript 库。 Lodash 有助于处理数组、集合、字符串、对象、数字等。

_.filter()方法迭代集合的元素,返回一个包含所有元素的数组,谓词返回 true。

注意:此方法与 _.remove() 方法不同,因为此方法返回一个新数组。

句法:

_.filter( collection, predicate )

参数:此方法接受上面提到的两个参数,如下所述:

  • 集合:此参数保存要迭代的集合。
  • 谓词:此参数保存每次迭代调用的函数。

返回值:此方法返回新过滤的数组。

示例 1:

// Requiring the lodash library 
const _ = require("lodash"); 
      
// Original array 
var users = [
  { 'user': 'luv',
    'salary': 36000,
    'active': true },
  { 'user': 'kush', 
    'salary': 40000,
    'active': false }
];
  
// Using the _.filter() method
let filtered_array = _.filter(
    users, function(o) {
       return !o.active;
    }
);
  
// Printing the output 
console.log(filtered_array);

输出:

[ { user: 'kush', salary: 40000, active: false } ]

示例 2:

// Requiring the lodash library 
const _ = require("lodash"); 
      
// Original array 
var users = [
  { 'user': 'luv',
    'salary': 36000,
    'active': true },
  { 'user': 'kush', 
    'salary': 40000,
    'active': false }
];
  
// Using the _.filter() method
// The `_.matches` iteratee shorthand
let filtered_array = _.filter(users, 
    { 'salary': 36000, 'active': true }
);
  
// Printing the output 
console.log(filtered_array);

输出:

[ { user: 'luv', salary: 36000, active: true } ]

示例 3:

// Requiring the lodash library 
const _ = require("lodash"); 
      
// Original array 
var users = [
  { 'user': 'luv',
    'salary': 36000,
    'active': true },
  { 'user': 'kush', 
    'salary': 40000,
    'active': false }
];
  
// Using the _.filter() method
// The `_.matchesProperty` iteratee shorthand
let filtered_array =
  _.filter(users, ['active', false]);
  
// Printing the output 
console.log(filtered_array);

输出:

[ { user: 'kush', salary: 40000, active: false } ]

示例 4:

// Requiring the lodash library 
const _ = require("lodash"); 
      
// Original array 
var users = [
  { 'user': 'luv',
    'salary': 36000,
    'active': true },
  { 'user': 'kush', 
    'salary': 40000,
    'active': false }
];
  
// Using the _.filter() method
// The `_.property` iteratee shorthand
let filtered_array =
  _.filter(users, 'active');
  
// Printing the output 
console.log(filtered_array);

输出:

[ { user: 'luv', salary: 36000, active: true } ]