是通过groupBy
方法实现的。
首先,groupBy
方法可以按指定的属性对对象数组进行分组。如果想要按两个变量进行分组,可以使用一个函数作为分组依据,该函数可以返回一个由两个变量组成的字符串,作为分组的键。
以下是一个示例代码:
const _ = require('lodash');
const data = [
{ id: 1, category: 'A', type: 'X' },
{ id: 2, category: 'B', type: 'Y' },
{ id: 3, category: 'A', type: 'Y' },
{ id: 4, category: 'C', type: 'X' },
{ id: 5, category: 'B', type: 'X' },
{ id: 6, category: 'C', type: 'Y' }
];
const result = _.groupBy(data, (obj) => obj.category + obj.type);
console.log(result);
上述代码中,我们有一个包含多个对象的数组data
,每个对象都有category
和type
两个属性。我们使用groupBy
方法按category
和type
的组合对数组进行分组。
运行代码后,将得到如下输出:
{
AX: [
{ id: 1, category: 'A', type: 'X' }
],
BY: [
{ id: 2, category: 'B', type: 'Y' }
],
AY: [
{ id: 3, category: 'A', type: 'Y' }
],
CX: [
{ id: 4, category: 'C', type: 'X' }
],
BX: [
{ id: 5, category: 'B', type: 'X' }
],
CY: [
{ id: 6, category: 'C', type: 'Y' }
]
}
结果中的每个键都是由category
和type
组合而成的字符串。对应的值则是满足该组合的对象数组。
关于lodash的详细使用方法和其他功能,请参考腾讯云的相关产品:Lodash - 工具库。
领取专属 10元无门槛券
手把手带您无忧上云