首页 > 解决方案 > “new Set”在nodejs中返回一个空集

问题描述

我正在使用带有 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) 替换最后一行,那么它工作正常,但我使用“Set”来删除任何重复的值。

标签: node.jspuppeteer

解决方案


因为 Set 接收可迭代对象作为其输入参数,并会分别创建 set 对象。因此,我们可以从一个数组构造一个集合——但它只会包含来自该数组的不同元素,也就是没有重复元素。

当然,我们也可以使用 Array.from() 方法将集合转换回数组。

let set = new Set([1,2,3]); // {1,2,3}
let arr = Array.from(set);//[1,2,3]

所以你需要将 set 转换回 array ,请查看这里以了解 set 和 array 之间的区别。

希望对你有帮助!


推荐阅读