如何在js中获取数组中的唯一元素?我知道有new Set,但是如果数组中有对象,那么它将不起作用
例如,此代码将输出以下内容:[1, 2, { key: "1" }, { key: "1" }, { key: "1" }]
[...new Set([1, 1, 2, { key: "1" }, { key: "1" }, { key: "1" }])];
我需要这个结果
[1, 2, { key: "1" }]
如何在js中获取数组中的唯一元素?我知道有new Set,但是如果数组中有对象,那么它将不起作用
例如,此代码将输出以下内容:[1, 2, { key: "1" }, { key: "1" }, { key: "1" }]
[...new Set([1, 1, 2, { key: "1" }, { key: "1" }, { key: "1" }])];
我需要这个结果
[1, 2, { key: "1" }]
这是您的阵列的一种解决方案
但是如果数组中还有其他数组就不适合
解决这个问题,需要把函数加一点,比如加入递归
UPD
您还需要考虑到数组的类型也
'object'用于确定元素是否为数组。
Array.isArray(someArr)决定这样: