js groupby

const users=[
  {name:'zhangsan',age:23,gender:'male'},
  {name:'lisi',age:20,gender:'female'},
  {name:'wangwu',age:18,gender:'male'},
  {name:'zhaohu',age:19,gender:'female'},
  {name:'malu',age:20,gender:'female'},
  {name:'zhouyi',age:28,gender:'male'},
  {name:'howhye',age:18,gender:'male'},
]

function groupBy(objs,generkey){
  const result={};
  for(let i=0;i<objs.length;i++){
    const item=objs[i];
    const key=generkey(item);
    if(!result[key]){
      result[key]=0;
    }
    result[key]+=1;
  }
  return result;
}
console.log(groupBy(users,(obj)=>obj.gender))
console.log(groupBy(users,(obj)=>obj.age>20?'>20':"<=20"))
console.log(groupBy(users,(obj)=>obj.name.length))

 

posted @ 2025-12-30 10:31  howhy  阅读(19)  评论(0)    收藏  举报