📅  最后修改于: 2023-12-03 15:32:44.691000             🧑  作者: Mango
_.matchesProperty()
方法是 Lodash 库中的一种函数方法,用于创建一个对对象进行属性匹配的函数。该函数可以接收两个参数:属性名和对应的值,返回一个新的函数,该函数用于检查对象的属性值是否与给定的属性值匹配。
_.matchesProperty(
path,
srcValue
)
path
: (Array|string) 要匹配的对象属性路径。
srcValue
: 要匹配的值。
(Function): 返回一个接收 1 个参数的新函数。
import { matchesProperty } from 'lodash';
const arrUsers = [
{ name: 'John', age: 25, job: 'developer' },
{ name: 'Alice', age: 28, job: 'designer' },
{ name: 'Bob', age: 30, job: 'developer' },
];
const isDeveloper = matchesProperty('job', 'developer');
console.log(arrUsers.filter(isDeveloper)); // [{ name: 'John', age: 25, job: 'developer' }, { name: 'Bob', age: 30, job: 'developer' }]
在这个例子中,我们声明了一组用户对象,每个对象都有三个属性:name
, age
, job
。我们希望找到其中所有职业为 developer
的用户。
为了实现这个功能,我们使用 matchesProperty()
方法创建了一个新的函数 isDeveloper
,该函数接收一个对象参数,检查该对象是否满足 job
属性为 developer
。
我们将这个函数作为 filter()
方法的参数,对数组 arrUsers
进行筛选,最终输出符合条件的数组对象 { name: 'John', age: 25, job: 'developer' }
和 { name: 'Bob', age: 30, job: 'developer' }
。
通过 Lodash 的 matchesProperty()
方法,我们可以方便地创建一个属性匹配的函数,用于筛选出对象中符合条件的属性值。该方法非常适合用于数组对象的筛选和过滤场景中。