今天来玩个新特性 for...of:
它是一种用于遍历数据结构的方法。它可遍历的对象包括数组,字符串,set和map结构等具有iterator 接口的数据结构。
现在我们来以数组为例,看看如何进行数组的遍历:
方案一:
var arr = [1,2,3,4,5];
for(let i = 0;i<arr.length;i++){
//...
}
这是最传统的一种方式了。
方式二:
var arr = [1,2,3,4,5];
arr.forEach(function (value,index) {
//...
});
利用forEach函数实现,但有个缺点就是不能中断或者停止整个过程。
方式三:
var arr = [1,2,3,4,5];
for(let i in arr){
//...
}
因为 for...in 常用于对象的遍历,所以在遍历过程中i的值其实是字符类型。
现在我们来使用 for...of:
var arr = [1,2,3,4,5];
for(let value of arr){
console.log(value);
}
//打印结果:依次输出:1 2 3 4 5
它的优势可以分为三点:
1.写法比for循环简洁很多;
2.可以用break来终止整个循环,或者continute来跳出当前循环,继续后面的循环;
3.结合keys() 获取到循环的索引,并且是数字类型,而不是字符串类型。
for...of 还支持字符串的遍历:
let word = "我是最棒的";
for(let w of word){
console.log(w);
}
//打印结果:我 是 最 棒 的
以上就是 for...of的用法,用法很简单,区别也很容易,坚持学习的习惯最艰难,期待与你一起进步!
网友评论