js实现groupby

初始结果是一个数组,最终得到一个对象。

javascript 复制代码
let arr = [{
   sex: 'male',
   name: 'xiaomi'
}, {
   sex: 'male',
   name: 'lisi'
}, {
   sex: 'female',
   name: 'zhangsan'
}]

最终得到:

代码:

javascript 复制代码
const groupBy = (list, key) => {
   const obj = {};
   list.map(item => {
       if (!obj[item[key]]) { //如果不存在这个属性
           obj[item[key]] = [];
       }
       obj[item[key]].push(item);
   });
   return obj;
}

简写:

javascript 复制代码
const group_signal = (data, key) => {
   return data.reduce(function(prev, cur) {
       (prev[cur[key]] = prev[cur[key]] || []).push(cur);
       return prev;
   }, {});
};
相关推荐
沐晓时光10 分钟前
C语言入门,深入理解指针(6)
c语言·开发语言
略略略咯咯13 分钟前
33333
开发语言·windows·python
计算机魔术师16 分钟前
AI 推翻了一个当了30年地基的假设,查的人恰好是立论者
前端
垆边人似月.17 分钟前
第三篇:函数、文件与异常处理 / Functions, Files & Exception Handling
开发语言·python
云和数据.ChenGuang19 分钟前
项目打开后没有主类
开发语言·人工智能·langchain·1024程序员节
范同学~20 分钟前
项目添加水印
java·前端·javascript
鬼手点金21 分钟前
缓存作为架构约束
开发语言·前端·人工智能·python·microsoft·缓存·架构
月夏23 分钟前
前端第一次接自己的后端:mock 切真接口踩了 2 个坑,组件只改了一行 import
前端·后端·node.js
SEO_juper26 分钟前
Node.js 页面主题聚焦度检测:title 和正文各说各的,AI 也读不懂
开发语言·人工智能·node.js·seo·外贸独立站
IT_陈寒26 分钟前
React实战技巧总结:如何优雅处理复杂列表的渲染卡顿问题?
前端·人工智能·后端