【发布时间】:2022-11-18 07:06:30
【问题描述】:
我正在寻找删除重复项的方法。我发现一种常见的方法是创建一个 Set,然后散布到一个新的 Array 中。
我怎样才能完成这个目的?例如,我有以下代码:
const tmp1=[];
const tmp2=[{
guid:"e695d848-7188-4741-9c95-44bec634940f",
name: "Spreading.pdf",
code: "G1"
}];
const tmp = [...new Set([...tmp1],[...tmp2])]; //This should remove duplicates, but gets empty array
const x = [...tmp1, ...tmp2]; // This would keep duplicates
问题是因为 tmp1 是一个空数组,所以我得到的结果是空的。但是,如果我执行以下操作,则会得到正确的结果:
const tmp = [...new Set(...tmp1,[...tmp2])];
我认为这里缺少一些东西。
谢谢
【问题讨论】:
-
什么是对象重复?所有的属性都一样吗?
-
在示例中没有重复项(我想问题的标题具有误导性)。问题是在 Set 中传播一个空数组时,该数组用于避免可能的重复。
-
如果将其设置为
const tmp = [...new Set([...tmp1, ...tmp2])],它将起作用,但仅适用于原始值。 -
什么是重复的例子????对象不适用于集合。有很多方法可以处理它,但是是什么让它成为一个骗局。
标签: javascript reactjs