for/of与Set和Map
作者:互联网
ES6内置的Set(集合)和Map(映射)类是可迭代的。在使用for/of迭代时,循环体对集合中的每个元素都会运行一次。可以使用类似下面的代码打印出一个文本字符串中的唯一单词:
let text = "Na na na na na na na na Batman!";
let wordSet = new Set(text.split(" "));
let unique = [];
for(let word of wordSet) {
unique.push(word);
}
unique // => ["Na", "na", "Batman!"]
Map则比较有意思,因为Map对象的迭代器并不迭代Map键或Map值,而是迭代键/值对。每次迭代,迭代器都会返回一个数组,其第一个元素时键,第二个元素时对应的值。给出一个Map m,可以像下面这样迭代和解构其键/值对:
let m = new Map([[1, "one"]]);
for(let [key, value] of m) {
key // => 1
value // => "one"
}
标签:Map,Set,迭代,na,let,unique 来源: https://www.cnblogs.com/micr/p/15974642.html