js 使用reduce处理复杂数据格式对象数组嵌套

let aa = [
      { id: 1, name: "张三1" },
      { id: 1, name: "张三2" },
      { id: 1, name: "张三3" },
      { id: 1, name: "张三4" },
      { id: 2, name: "李四1" },
      { id: 2, name: "李四2" },
      { id: 2, name: "李四3" },
      { id: 2, name: "李四4" }
    ];
    let bb = aa.reduce((obj, item) => {
      let find = obj.find((i) => i.id === item.id);
      let _d = {
        id: item.id,
        name: [item.name]
      };
      find ? find.name.push(item.name) : obj.push(_d);
      return obj;
    }, []);

console.log(bb);如下:
/*[
    {
        "id":1,
        "name":[
            "张三1",
            "张三2",
            "张三3",
            "张三4"
        ]
    },
    {
        "id":2,
        "name":[
            "李四1",
            "李四2",
            "李四3",
            "李四4"
        ]
    }
]*/

  

posted @ 2020-12-01 10:21  恨钱不成山  阅读(177)  评论(0)    收藏  举报