在 Javascript 中对对象数组使用 groupby 的最高效方法
在 js 中通过一个键对对象数组进行 groupby 的最高效方法是使用 reduce 函数。
reduce() 方法对数组中的每个元素(由您提供)执行一个 reduce 函数,结果产生一个单一的输出值。
示例
const people = [
{ name: 'Lee', age: 21 },
{ name: 'Ajay', age: 20 },
{ name: 'Jane', age: 20 }
];
function groupBy(objectArray, property) {
return objectArray.reduce((acc, obj) => {
const key = obj[property];
if (!acc[key]) {
acc[key] = [];
}
// Add object to list for given key's value
acc[key].push(obj);
return acc;
}, {});
}
const groupedPeople = groupBy(people, 'age');
console.log(groupedPeople);输出
这将产生如下输出 −
{ 20: [ { name: 'Ajay', age: 20 }, { name: 'Jane', age: 20 } ],
21: [ { name: 'Lee', age: 21 } ] }
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP