我正在使用n的以下函数测试某些网站,突然“ new Set”开始返回空数组,如下所示:
function collectAllSameOriginAnchorsDeep(sameOrigin = true) {
const allElements = [];
// Some coding here
const filtered = allElements
// Some coding here
console.log(filtered) // The items are printed in the log probably
return Array.from(new Set(filtered)); // Nothing is getting returned!
}
如果我用return Array.from(filtered)替换最后一行,那么它可以正常工作,但是我使用“设置”来删除所有重复的值。
答案 0 :(得分:0)
因为Set接收可迭代对象作为其输入参数,并将分别创建set对象。因此,我们可以从一个数组构造一个集合-但它将只包含该数组中不同的元素,也就是没有重复的元素。
当然,我们还可以使用Array.from()方法将集合转换回数组。
let set = new Set([1,2,3]); // {1,2,3}
let arr = Array.from(set);//[1,2,3]
因此,您需要将集合转换回array,请检查here以了解set和array之间的区别。
希望这对您有帮助!