按照给定键将对象分组在数组中
创始人
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)对象中不存在,我们创建一个空数组作为该键的值。然后,我们将当前对象添加到该分组键对应的数组中。最后,我们返回累加器对象,其中包含按照给定键分组的对象数组。

相关内容

热门资讯

了解透视!xpoker透视辅助... 了解透视!xpoker透视辅助,sohoo辅助(透视)一直是真的有辅助攻略(哔哩哔哩)1、xpoke...
曝光透视!pokemmo辅助器... 曝光透视!pokemmo辅助器,pokemmo辅助脚本(透视)好像真的是有辅助方法(哔哩哔哩)1、打...
分享透视!哈糖大菠萝挂,soh... 您好,哈糖大菠萝挂这款游戏可以开挂的,确实是有挂的,需要了解加去威信【136704302】很多玩家在...
分享透视!pokemmo手机辅... 分享透视!pokemmo手机辅助软件,佛手大菠萝有挂吗(透视)一直存在有辅助脚本(哔哩哔哩)1、上手...
专业透视!sohoo开挂辅助,... 专业透视!sohoo开挂辅助,哈糖大菠萝开挂(透视)切实一直都是有辅助攻略(哔哩哔哩)1.哈糖大菠萝...
科普透视!智星德州插件,wer... 科普透视!智星德州插件,werplan辅助软件(透视)竟然真的有辅助工具(哔哩哔哩)1、实时werp...
科普透视!约局吧德州真的有透视... 科普透视!约局吧德州真的有透视挂吗,agpoker辅助(透视)本来有辅助技巧(哔哩哔哩)1)约局吧德...
了解透视!佛手在线大菠萝辅助,... 了解透视!佛手在线大菠萝辅助,werplan透视挂(透视)竟然是有辅助方法(哔哩哔哩)该软件可以轻松...
专业透视!拱趴大菠萝挂哪里,w... 专业透视!拱趴大菠萝挂哪里,werplan有挂吗(透视)真是存在有辅助软件(哔哩哔哩);1)拱趴大菠...
了解透视!大菠萝免费辅助,聚星... 了解透视!大菠萝免费辅助,聚星ai辅助工具激活码(透视)果然一直都是有辅助app(哔哩哔哩)1、进入...