首页 > 解决方案 > 从数组中获取唯一的类别属性值

问题描述

const array = [{
        productname: "productname1",
        category: "category1"
    },
    {
        productname: "productname2",
        category: "category2"
    },
    {
        productname: "productname3",
        category: "category3"
    },
    {
        productname: "productname4",
        category: "category1"
    },
    {
        productname: "productname5",
        category: "category2"
    }
]

我想获得一个输出,我可以在其中获得所有类别而不会重复

我尝试使用地图和过滤器,但我的输出是:

["category1" "category2", "category3","category1","category2"]

我想要的输出是

["category1" "category2", "category3"]

我怎样才能做到这一点?

标签: javascriptarraysreactjs

解决方案


您可以使用map提取category属性值并Set使用扩展语法来获取唯一性:

const array = [{
    productname: "productname1",
    category: "category1"
  },
  {
    productname: "productname2",
    category: "category2"
  },
  {
    productname: "productname3",
    category: "category3"
  },
  {
    productname: "productname4",
    category: "category1"
  },
  {
    productname: "productname5",
    category: "category2"
  }
]

const uniqueCategories = [...new Set(array.map(e => e.category))]
console.log(uniqueCategories)


推荐阅读