groupby lodash
时间: 2023-09-28 18:05:03 浏览: 48
lodash 是一个 JavaScript 的实用工具库,其中包含了许多方便的函数和方法。在 lodash 中,可以使用 `groupBy` 方法来根据指定的条件对数组或对象进行分组。
使用 `groupBy` 方法可以将一个数组或对象按照指定的条件进行分组,并返回一个包含分组结果的对象。每个分组的键是根据条件计算得出的。
以下是 `groupBy` 方法的基本用法示例:
```javascript
const _ = require('lodash');
// 使用对象数组作为示例
const users = [
{ name: 'John', age: 25 },
{ name: 'Jane', age: 30 },
{ name: 'Bob', age: 25 },
{ name: 'Alice', age: 30 }
];
// 根据年龄进行分组
const groupedUsers = _.groupBy(users, 'age');
console.log(groupedUsers);
// 输出结果:
// {
// '25': [ { name: 'John', age: 25 }, { name: 'Bob', age: 25 } ],
// '30': [ { name: 'Jane', age: 30 }, { name: 'Alice', age: 30 } ]
// }
// 使用函数作为分组条件
const groupedUsersByAgeRange = _.groupBy(users, user => {
if (user.age < 30) {
return 'Young';
} else {
return 'Old';
}
});
console.log(groupedUsersByAgeRange);
// 输出结果:
// {
// 'Young': [ { name: 'John', age: 25 }, { name: 'Jane', age: 30 }, { name: 'Bob', age: 25 } ],
// 'Old': [ { name: 'Alice', age: 30 } ]
// }
```
以上示例展示了如何使用 lodash 的 `groupBy` 方法对数组对象进行分组。你可以根据具体的需求来选择合适的分组条件和数据结构。