JavaScript 中forEach,for in,for of循环的用法
一、一般的遍历数组的方法
var array = [1,2,3,4,5,6,7];
for (var i = 0; i < array.length; i++) {
console.log(i,array[i]);
}
二、用 for in 的方法遍历数组
var array = [1,2,3,4,5,6,7];
for(let index in array) {
console.log(index,array[index]);
};
上述两个结果是一样的。
用for in不仅可以对数组,也可以对enumerable对象操作。
var A = {a:1,b:2,c:3,d:"hello world"};
for(let k in A) {
console.log(k,A[k]);
}
三、用 forEach 的方法遍历数组
var array = [1,2,3,4,5,6,7];
array.forEach(v=>{
console.log(v);
});
forEach 的缺点也是很明显的,就是不能中断。
四、用 for of 的方法遍历数组
在 ES6 中,增加了一个 for of 循环,使用起来很简单
- 对于数组
var array = [1,2,3,4,5,6,7];
for(let v of array) {
console.log(v);
};
2. 对于字符串
let s = "helloabc";
for(let c of s) {
console.log(c);
}
如果是 for in 语句,遍历字符串,如下所示:
let s = "helloabc";
for(let index in s) {
console.log(index,s[index]);
}
总结:
- for in 总是得到对象的 key 或数组,字符串的下标,而 for of 和 forEach 一样,是直接得到值
- for of 不能对象使用
注意:对于新出来的 Map,Set 上面,用 for in 是遍历不了的。