📜  Collect.js where()函数(1)

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

Collect.js where()函数

Collect.js是一个扩展了Javascript Array的库,提供了许多强大的集合处理方法,其中包括where()函数。where()函数用于在集合中根据指定条件筛选出符合条件的元素,并返回一个新的集合。

语法
collect(array).where(key, operator, value)
参数
  • array:必选参数。要进行筛选的集合。
  • 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()函数的筛选,可以轻松地在集合中查找、过滤、提取符合条件的元素。