for in与for of区别

for in 是ES5标准,遍历key。(可遍历对象、数组、字符串的key)

for of 是ES6标准,遍历value。(可遍历对象、数组、字符串的value)

//字符串
let s = "helloabc";
for(let c of s) {
    console.log(c);
}

结果:
h
e
l
l
o
a
b
c

总结: for in总是得到对像的key或数组,字符串的下标

for of 总是得到对像的value或数组,字符串的值,还可以遍历Map和Set

 

var set = new Set();
set.add("a").add("b").add("d").add("c");
var map = new Map();
map.set("a",1).set("b",2).set(999,3);
for (let v of set) {
    console.log(v);
}
console.log("--------------------");
for(let [k,v] of map) {
    console.log(k,v);
}

 

posted on 2018-08-20 13:46  我爱吃豌豆  阅读(919)  评论(0编辑  收藏  举报

导航