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

相关内容

热门资讯

推荐十款!微乐过炸透视功能脚本... 推荐十款!微乐过炸透视功能脚本,微乐过炸原来存在有透视脚本(今日头条辅助)1、每一步都需要思考,不同...
记者爆料!微乐三打一透视功能a... 记者爆料!微乐三打一透视功能app,微乐三打一一贯存在有透视app(有辅助挂工具)所有人都在同一条线...
推荐一款!方片十三张透视功能工... 推荐一款!方片十三张透视功能工具,方片十三张切实存在有透视工具(有辅助挂技巧)1、点击下载安装,方片...
重大通报!乘风破浪开挂功能软件... 重大通报!乘风破浪开挂功能软件,乘风破浪都是是有开挂软件(有辅助挂功能)1、许多玩家不知道乘风破浪辅...
让我来分享经验!边锋斗地主辅助... 让我来分享经验!边锋斗地主辅助功能神器,边锋斗地主都是有辅助神器(有辅助挂工具)1、用户打开应用后不...
教程攻略!欢乐五张辅助器功能教... 教程攻略!欢乐五张辅助器功能教程,欢乐五张切实是有辅助器教程(有辅助挂猫腻)1、让任何用户在无需欢乐...
实测教程!半岛透视挂功能app... 实测教程!半岛透视挂功能app,半岛原来是真的有透视挂app(竟然有辅助挂)1、进入游戏-大厅左侧-...
科普分享!新道游透视挂功能ap... 您好,新道游这款游戏可以开挂的,确实是有挂的,需要了解加去威信【136704302】很多玩家在这款游...
揭秘真相!六六顺开挂功能脚本,... 揭秘真相!六六顺开挂功能脚本,六六顺其实真的有开挂脚本(有辅助挂分析)1、六六顺有没有辅助教程、六六...
必知教程!63棋牌游戏中心透视... 必知教程!63棋牌游戏中心透视挂功能app,63棋牌游戏中心都是是真的有透视挂app(有辅助挂app...