首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在react中只显示同名的一个项目?

如何在react中只显示同名的一个项目?
EN

Stack Overflow用户
提问于 2022-08-15 23:19:44
回答 2查看 109关注 0票数 0

在我的后端数据中,我有像这样的相同名称的扇区名称的列表,它有不同的id、每一项,但是有相同的扇区。所以我只想减少同样的行业名称

  • 能源
  • 能源
  • 环境
  • 政府
  • 环境
  • 航空航天与国防
  • 航空航天与国防
  • Manufacturing
  • 零售
  • Manufacturing

但我只想要一个像这样值相同的名字

  • 能源
  • 环境
  • 政府
  • 航空航天与国防
  • Manufacturing
  • 零售

这是我的密码

代码语言:javascript
复制
const Home = () => {
  const [assignData, setAssignData] = useState([]);

  const datalist = async () => {
    const result = await fetch("http://localhost:5000/api/getalldata");
    const dresult = await result.json();
    setAssignData(dresult);
    
  };
  
  useEffect(() => {
    datalist();
  }, []);

  return (
    <>
      {assignData.map((data) => {
        return (
          <>
          <h1> {data.sector} </h1>
         
          </>
        )
      })}
    </>
  );
};

export default Home;
EN

回答 2

Stack Overflow用户

发布于 2022-08-15 23:38:56

如果您只需要获得唯一的sector属性,则可以将assignData数组映射到字符串数组,并通过Set将其推送到唯一值。

在这里,我使用了一个备注钩来创建sectors数组,并使其与assignedData保持同步。

代码语言:javascript
复制
const sectors = useMemo(
  () => [...new Set(assignData.map(({ sector }) => sector))],
  [assignData]
);

return sectors.map((sector) => <h1 key={sector}>{sector}</h1>);
票数 0
EN

Stack Overflow用户

发布于 2022-08-15 23:24:42

您可以将assignData转换为Set并将其转换回数组。这将从数组中删除重复项。

代码语言:javascript
复制
{[... new Set(assignData)].map((data) => {
  return (
    <>
      <h1> {data.sector} </h1>
    </>
  )
})}
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73367290

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档