Reduce按属性给Object分类

示例代码:

let arr=[
    {
    
    name:'steven',age:'18'},
    {
    
    name:'wang',age:'19'},
    {
    
    name:'jack',age:'19'}
]
function groupBy(array,objectName){
    
       //array传入的数组  objectName传入的对象名称
  return  array.reduce((acc,obj)=>{
    
    
        let key=obj[objectName]
        if (!acc[key]) {
    
    
            acc[key] = []
          }
          acc[key].push(obj)
          return acc
    },{
    
    }
    )
}
let groupedPeople = groupBy(arr, 'age')
 console.log(groupedPeople);

参考链接:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array/Reduce)

猜你喜欢

转载自blog.csdn.net/weixin_45680024/article/details/125160048