按照给定键将对象分组在数组中
创始人
2024-08-24 02:00:29
0

你可以使用reduce()方法来按照给定键将对象分组在数组中。下面是一个示例代码:

function groupBy(arr, key) {
  return arr.reduce((acc, obj) => {
    const groupKey = obj[key];
    if (!acc[groupKey]) {
      acc[groupKey] = [];
    }
    acc[groupKey].push(obj);
    return acc;
  }, {});
}

// 示例用法
const persons = [
  { name: 'John', age: 20, gender: 'male' },
  { name: 'Jane', age: 25, gender: 'female' },
  { name: 'Mike', age: 30, gender: 'male' },
  { name: 'Emily', age: 22, gender: 'female' },
];

const groupedPersons = groupBy(persons, 'gender');
console.log(groupedPersons);

运行以上代码将输出以下结果:

{
  male: [
    { name: 'John', age: 20, gender: 'male' },
    { name: 'Mike', age: 30, gender: 'male' }
  ],
  female: [
    { name: 'Jane', age: 25, gender: 'female' },
    { name: 'Emily', age: 22, gender: 'female' }
  ]
}

在上述示例中,我们使用reduce()方法来遍历数组。对于每个对象,我们获取给定键的值作为分组键(groupKey)。如果该分组键在累加器(acc)对象中不存在,我们创建一个空数组作为该键的值。然后,我们将当前对象添加到该分组键对应的数组中。最后,我们返回累加器对象,其中包含按照给定键分组的对象数组。

相关内容

热门资讯

详细透视!智星德州可以透视吗,... 您好,智星德州可以透视吗这款游戏可以开挂的,确实是有挂的,需要了解加去威信【485275054】很多...
据统计!wepoker作必弊方... 据统计!wepoker作必弊方法,微信超级三加一免费辅助,原来是有辅助软件(哔哩哔哩)暗藏猫腻,小编...
必备透视!sohoo竞技联盟辅... 必备透视!sohoo竞技联盟辅助器,红龙poker辅助平台(透视)总是真的是有辅助插件(哔哩哔哩)1...
于此同时!wepoker破解版... 于此同时!wepoker破解版内购,西元文山攻略,竟然真的是有辅助攻略(哔哩哔哩)wepoker破解...
解迷透视!poker worl... 解迷透视!poker world辅助器,哈糖大菠萝怎么挂(透视)真是一直总是有辅助软件(哔哩哔哩);...
来临!德普之星透视辅助插件,牛... 来临!德普之星透视辅助插件,牛魔王辅助器,其实是真的有辅助攻略(哔哩哔哩)1、每一步都需要思考,不同...
揭幕透视!poker红龙辅助,... 揭幕透视!poker红龙辅助,hardrock透视工具(透视)总是一直都是有辅助技巧(哔哩哔哩)ha...
目前!智星德州插件怎么下载,福... 目前!智星德州插件怎么下载,福建宁德麻将辅助软件,总是是有辅助脚本(哔哩哔哩)1、让任何用户在无需智...
解谜透视!cloudpoker... 解谜透视!cloudpoker作必弊,智星德州插件怎么下载(透视)其实存在有辅助软件(哔哩哔哩)1、...
为切实保障!wepoker免费... 为切实保障!wepoker免费脚本咨询,欢乐联盟辅助器,原来存在有辅助工具(哔哩哔哩)1、用户打开应...