我有一套基本的:
var set = new Set([0, 0, 1, 1, 1, 0]);
我想迭代它:
for (var el of set) {
console.log(el)
}
但是:for...of并非所有浏览器都支持循环。如何在没有循环的情况下迭代 Set for...of?
我有一套基本的:
var set = new Set([0, 0, 1, 1, 1, 0]);
我想迭代它:
for (var el of set) {
console.log(el)
}
但是:for...of并非所有浏览器都支持循环。如何在没有循环的情况下迭代 Set for...of?
很抱歉打扰大家,我自己找到了一个“答案”。这适用于遇到此问题并想要答案的任何人。
无论如何,使用集合的唯一原因是确保一个元素不会出现多次。解决方案是手动执行此操作,并将其保存为数组。
var arr = [0, 0, 1, 1, 1, 0]; // The array that would've gone to the Set
var newArr = [], l = arr.length;
for (var i = 0; i < l; i++) {
if (newArr.indexOf(arr[i]) == -1) newArr.push(arr[i])
}
console.log(newArr) // [0, 1]
// Then you can iterate over the newArr as much as you want:
for (var i = 0; i < newArr.length; i++) {
console.log(newArr[i]) // 0 and then 1
}
// Console
/*
[
0,
1
]
----------
0
----------
1
*/