在 Javascript 中对对象数组进行分组的最有效方法

javascriptfront end technologyobject oriented programming

在 js 中对对象数组按键进行分组的最有效方法是使用 Reduce 函数。

Reduce() 方法对数组的每个元素执行 Reducer 函数(由您提供),从而产生单个输出值。

示例

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] = [];
      }
      // 将对象添加到给定键值的列表中
      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 } ] }

相关文章