📅  最后修改于: 2023-12-03 15:14:12.680000             🧑  作者: Mango
Collect.js是一个扩展了Javascript Array的库,提供了许多强大的集合处理方法,其中包括where()
函数。where()
函数用于在集合中根据指定条件筛选出符合条件的元素,并返回一个新的集合。
collect(array).where(key, operator, value)
=
、!=
、>
、>=
、<
、<=
等。const users = [
{name: 'Alice', age: 22},
{name: 'Bob', age: 25},
{name: 'Charlie', age: 30},
{name: 'David', age: 28},
];
const filteredUsers = collect(users).where('age', '>', 25);
console.log(filteredUsers);
// Output: [{name: 'Charlie', age: 30}, {name: 'David', age: 28}]
上面的代码中,我们定义了一个包含用户信息的数组users
,然后使用where()
函数筛选出年龄大于25岁的用户,最终得到一个新的集合filteredUsers
,其中只包含两个用户的信息。
下面是一个完整的示例,展示了如何使用where()
函数在集合中筛选出符合条件的元素:
const collect = require('collect.js');
const users = [
{name: 'Alice', age: 22},
{name: 'Bob', age: 25},
{name: 'Charlie', age: 30},
{name: 'David', age: 28},
];
console.log('Original users:', users);
// Find users older than 25
const filteredUsers = collect(users).where('age', '>', 25);
console.log('Filtered users:', filteredUsers);
// Find users younger than 25
const filteredUsers2 = collect(users).where('age', '<', 25);
console.log('Filtered users 2:', filteredUsers2);
// Find users named 'Bob'
const filteredUsers3 = collect(users).where('name', '=', 'Bob');
console.log('Filtered users 3:', filteredUsers3);
运行以上代码,可以得到以下输出:
Original users: [
{name: 'Alice', age: 22},
{name: 'Bob', age: 25},
{name: 'Charlie', age: 30},
{name: 'David', age: 28},
]
Filtered users: [
{name: 'Charlie', age: 30},
{name: 'David', age: 28},
]
Filtered users 2: [
{name: 'Alice', age: 22},
]
Filtered users 3: [
{name: 'Bob', age: 25},
]
我们可以看到,通过where()
函数的筛选,可以轻松地在集合中查找、过滤、提取符合条件的元素。