You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从JavaScript对象数组中提取去重后的category属性值

实现方案

你可以通过以下几种常用方式实现去重需求,优先推荐第一种写法,简洁高效:

方法1:结合Set实现(最优方案)

Set是ES6新增的内置对象,天然支持存储不重复的值,配合map提取属性后直接去重即可:

// 先提取所有category,再通过Set去重,最后转回数组
const uniqueCategories = [...new Set(array.map(item => item.category))]
console.log(uniqueCategories) // 输出 ["category1","category2","category3"]

方法2:用filter实现

如果你希望用你之前提到的filter方法完成,可以通过判断元素第一次出现的位置来过滤重复项:

const uniqueCategories = array
  .map(item => item.category)
  // 仅保留当前元素第一次出现的条目
  .filter((category, index, originArray) => originArray.indexOf(category) === index)

两种方法都可以得到你预期的无重复分类列表,第一种写法性能和可读性都更好,适合所有现代浏览器/Node.js环境。

内容的提问来源于stack exchange,提问作者Uzo Okpara

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 21:24:02