-
a若为一个数,那么还是用for (let i=0; i < a.length; i++) {…}
-
a若为一个对象或数组。(其实数组也是个对象,输出看其属性的时候,都是object。)
使用for(var i in a) {...} 他遍历的实际上是对象的属性名称。 看例子: var a = [1,2,3]; a.add = 'hello'; console.log(a); 结果是1,2,3,add 但是a.length = 3 使用for(var i of a) {...} 他只遍历集合本身 看例子:var a = [1,2,3]; a.add = 'hello'; console.log(a); 结果是1,2,3 使用a.forEach(i=> {console.log(i)}; 或 a.forEach(function(i) => {console.log(i)}
var map = new Map();
map.set("a",1).set("b",2).set(999,3);
for(let [i,j] of map) {
console.log(i,j);
}
结果:
a 1
b 2
999 3
总:for in是得到对象的key、或数组、或字符串的下标:
for of 和 forEach 是直接得到值,但是for of不能用对象