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

React项目中提取数组对象Category列唯一值并控制台打印的方法

获取数组对象中Category的唯一值(React项目)

你是JavaScript新手,在React项目中处理数组对象数据时,需要从给定的data数组里提取Category列的所有唯一值(Red、Green)并通过console.log输出,目前只能打印整个数组对象,不知道如何选取目标列和实现去重。

解决方案1:使用map + Set(推荐,简洁高效)

直接在App.js中添加处理逻辑:

import data from './data';

function App() {
  // 提取所有Category值
  const allCategories = data.map(item => item.Category);
  // 利用Set自动去重,再转成数组
  const uniqueCategories = [...new Set(allCategories)];
  
  // 打印结果
  console.log('唯一的Category值:', uniqueCategories);

  return (
    <div className="App">
      <LineChart />
    </div> 
  );
}

export default App;

代码说明:

  • data.map(item => item.Category):遍历数组,把每个对象的Category属性提取出来,得到包含重复值的数组:["Red", "Red", "Green", "Green"]
  • new Set(allCategories):ES6的Set集合会自动过滤重复元素,得到Set {"Red", "Green"}
  • [...new Set(allCategories)]:用扩展运算符...把Set转换为普通数组,最终得到["Red", "Green"]

解决方案2:使用reduce(手动去重,适合理解数组方法)

如果想手动实现去重逻辑,可以用reduce:

import data from './data';

function App() {
  const uniqueCategories = data.reduce((acc, item) => {
    // 检查累加器中是否已存在当前Category,不存在则添加
    if (!acc.includes(item.Category)) {
      acc.push(item.Category);
    }
    return acc;
  }, []); // 初始值为空数组

  console.log('唯一的Category值:', uniqueCategories);

  return (
    <div className="App">
      <LineChart />
    </div> 
  );
}

export default App;

补充说明

你之前用的const myArray = Object.values(data)是多余的,因为data本身就是数组,Object.values(data)返回的还是原数组,直接遍历data即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 10:27:27