遍历方法

1、普通传统的遍历

  1、书写繁杂

  2、可以退出循环,可以获取索引值

1
2
3
4
5
let arr = [1,2,3,4,5];
//普通遍历方法
for(let i=0;i<arr.length;i++){
    console.log(arr[i]);
}

  

2、foEach()参数第一个值,第二个索引

   1、foreach 方法没办法使用 break 语句跳出循环,或者使用return从函数体内返回
      2、 问题:循环一旦开始了不能结束
1
2
3
4
arr.forEach((i,v)=>{
    console.log(i);
    console.log(v);
})

  

   
3、for....in 
    1.index 值  是字符串(String)类型
    2.循环不仅会遍历数组元素,还会遍历任意其他自定义添加的属性,如,objArr上面包含自定义属性,objArr.name,那这次循环中也会出现此name属性
    3.某些情况下,上述代码会以随机顺序循环数组
   4、for-in循环设计之初,是给普通以字符串的值为key的对象使用的。而非数组
1
2
3
4
for(let i in arr){
    console.log(i);
    console.log(typeof i)
}

  

4、for...of

  1、写起来简单 可以退出循环 获取不到索引
  2、可以避免所有 for-in 循环的陷阱
  3、不同于 forEach() ,可以使用 break, continue 和 return
       4、for-of 循环不仅仅支持数组的遍历。同样适用于很多类似数组的对象
       5、它也支持字符串的遍历
       6、for-of 并不适用于处理原有的原生对象
1
2
3
4
5
6
7
for(let i of arr){
    console.log(arr[i]);
}
let str = "考了几分才能考上好大学";
for(let i of str){
    console.log(i);
}

  

posted @ 2020-09-02 21:39  靡荼  阅读(225)  评论(0编辑  收藏  举报