关于数组去重?

作者站长头像
站长
· 阅读数 22
const books = [

  {
      category: "编程",
      name: "JAVA"
  },

  {
      category: "编程",
      name: "MYSQL"
  },

  {
      category: "小说",
      name: "AAA"
  }

]

const result = [

  {
      category: "编程",
      books: ["JAVA", "MYSQL"]
  },

  {
      category: "小说",
      books: ["AAA"]
  }

]

需要将books转成result

回复
1个回答
avatar
test
2024-07-17
books.reduce((res, item) => {
    let target = res.find(citem => citem.category === item.category)
    if(target){
        target.books.push(item.name)
    }else{
        res.push({
              category: item.category,
              books: [item.name]
        })
    }
    return res
}, [])
回复
likes
适合作为回答的
  • 经过验证的有效解决办法
  • 自己的经验指引,对解决问题有帮助
  • 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
  • 询问内容细节或回复楼层
  • 与题目无关的内容
  • “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容