for/of与Set和Map
Posted 浪系青年的空间
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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"
以上是关于for/of与Set和Map的主要内容,如果未能解决你的问题,请参考以下文章