在Javascript / Jquery中,可以使用reduce()方法和对象来基于多个键对数组项进行分组。
首先,我们需要一个包含多个对象的数组,每个对象都有多个键。我们可以使用reduce()方法来遍历数组,并根据指定的键值对将对象分组。
下面是一个示例代码:
var array = [
{ name: 'John', age: 25, city: 'New York' },
{ name: 'Jane', age: 30, city: 'London' },
{ name: 'Bob', age: 22, city: 'New York' },
{ name: 'Alice', age: 28, city: 'London' }
];
var groupedArray = array.reduce(function(acc, obj) {
var key = obj.city + '-' + obj.age; // 使用多个键进行分组
if (!acc[key]) {
acc[key] = [];
}
acc[key].push(obj);
return acc;
}, {});
console.log(groupedArray);
在上面的代码中,我们使用reduce()方法来遍历数组,并将每个对象根据城市和年龄进行分组。我们使用obj.city + '-' + obj.age
作为分组的键,如果该键在累加器对象中不存在,则创建一个空数组。然后将当前对象推入该数组中。
最后,我们得到了一个以城市和年龄为键的分组数组。可以通过访问键来获取相应的分组。
这种方法可以用于基于任意多个键对数组项进行分组。只需根据需要修改键的拼接方式即可。
推荐的腾讯云相关产品和产品介绍链接地址:
以上是基于腾讯云的相关产品,可以根据具体需求选择适合的产品进行开发和部署。
领取专属 10元无门槛券
手把手带您无忧上云