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))