Javascript Set 不从大字符串数组填充

标签 javascript set

我有一个包含约 6k 个字符串元素的大型字符串数组。我知道集合在我的浏览器中工作并且在较小的阵列上测试时很好。当我尝试将大数组转换为新的 Set 时,它所做的只是返回一个空数组。

我的数组最初是嵌套数组的一部分,尽管已经尝试了几种将其输入集合的方法。其中一些是:

var input = Bigger_array[1];

var input = [...Bigger_array[1]];

var dummy = Bigger_array[1];
var input = [...dummy];

另外还尝试了创建集合的不同方法:

var s = new Set(input);

var s = new Set();
for (var j = 0; j < input.length; j++) {
     s.add(input[i]);
}

一切都无济于事:

set {}

根据要求为较小的数组提供工作 fiddle :

Bigger_array=[['a','b','c'],['a','b','c']]


var input = [...Bigger_array[1]];
var s = new Set();
for (var j = 0; j < input.length; j++) {
     s.add(input[j]);
}
console.log(s);


///the original method 
var input =Bigger_array[1]
var s = new Set(input);
console.log(s);

alert('viewing s in console presents correct values of set \n fiddle is being weird' )
//etc... 

最佳答案

显然,一些 JS 引擎无法正确地 console.log() SetMap 对象,而您只会收到一个空洞的外观像 {} 这样的对象。不要被骗了。我相信这是关于 Set 构造函数的 toString() 方法。更多信息是 here .

关于Javascript Set 不从大字符串数组填充,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41472659/

相关文章:

javascript - 我如何将其转换为数组?

c++ - std::set 的重载运算符 < 让我很困惑

javascript - 清除设置超时 Javascript

swift - Realm 列表上的性能问题

javascript - 只追加新数据

javascript - 如何删除类并添加另一个类jquery

javascript - 使用 javascript 将项目向下移动到页面

javascript - 我想知道 jquery 的委托(delegate)或 on(for delegate) 是如何工作的

c++ - 配置安装路径: prefix=[PREFIX] not fully understood

python - 如何更快地从字符串列表构建自定义字典