📜  Underscore.js _.filter函数(1)

📅  最后修改于: 2023-12-03 14:48:10.148000             🧑  作者: Mango

Underscore.js 的 _.filter 函数

Underscore.js 是一个 JavaScript 工具库,提供了许多函数和工具来操作和处理 JavaScript 数组、对象和函数等各种数据类型。其中一个常用的函数是 _.filter,本文将对其进行介绍。

函数简介

_.filter 函数用于过滤一个数组中的元素,返回一个新的数组,新数组中只包含符合条件的元素。该函数接受两个参数,第一个参数为要过滤的数组,第二个参数为过滤条件的回调函数。回调函数接受一个参数,即数组中的每个元素,如果该元素符合条件,则回调函数应该返回 true,否则返回 false。

语法
_.filter(list, predicate, [context])
  • list:要过滤的数组或对象。
  • predicate:过滤条件的回调函数,接受一个参数,即数组或对象中的每个元素。
  • context:可选,回调函数中的 this 值。
示例

以下为一个使用 _.filter 函数的示例:

const arr = [
  { name: 'Tom', age: 25 },
  { name: 'Jerry', age: 20 },
  { name: 'Mickey', age: 30 },
  { name: 'Donald', age: 35 }
];

const result = _.filter(arr, item => item.age >= 30);

console.log(result);
// Output: [{ name: 'Mickey', age: 30 }, { name: 'Donald', age: 35 }]

在以上示例中,_.filter 函数将过滤 arr 数组中 age 属性大于等于 30 的元素,返回一个新的数组 result,其中包含了两个符合条件的元素。

注意事项
  • 该函数并不会修改原数组,而是返回一个新的数组。
  • 回调函数中应该返回布尔值,否则会出现意外的结果。
  • 如果需要在回调函数中使用 this,需要将 context 参数传入。
总结

_.filter 函数是一个十分实用的 Underscore.js 工具函数,可以对数组和对象进行过滤操作,提取出符合条件的元素,使用灵活方便。