node.js - “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”来删除任何重复的值。
解决方案
因为 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 之间的区别。
希望对你有帮助!
推荐阅读
- templates - Bindable Iterables in a template
- javascript - 数组转字符串,php转js
- sql-server - MSSQL 小数精度
- regex - 使用 sed 从一行中删除“*”?
- javascript - Discord.js 删除角色错误
- tensorflow - TensorFlow 对象检测 API 中的超参数优化
- jquery - 尝试在没有 nuget 的情况下安装 jquery-ui
- asp.net-core - How do I disable ASP.NET Core's "Razor Pages"?
- sql - ORACLE-SQL:如何计算数字类型的 2 次?
- android - 恢复活动时恢复 PagedListAdapter 位置