javascript - 从数组中获取唯一的类别属性值
问题描述
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"]
我怎样才能做到这一点?
解决方案
您可以使用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)
推荐阅读
- android - Ionic v1 构建错误将字节码转换为 dex
- javascript - 如何在模态引导程序 4 中显示谷歌地图
- java - IntelliJ IDEA 看不到我的环境变量
- python - 查找连续列数据的平均值
- sql-server - 如何在内部事务中抛出异常而不结束 SQL Server 存储过程执行?
- php - 有没有办法通过在 SilverStripe 3.X (CWP 1.8) 的配置文件中设置变量来打开/关闭日志记录?
- python - 对于 PiCameraCircularIO 类“copy_to()”函数,在 Mjpeg 中输出的流的“first_frame”的类型是什么?
- java - Openstack 计算节点未显示为管理程序
- batch-file - Windows批处理根据文件名中的时间戳保留最新的N个文件
- jenkins-pipeline - 我有 3 个阶段使用管道代码(Scripted0)在詹金斯中构建