数组遍历for forEach for..in for..of

最开始接触的遍历for 通过下标获取数组每一项的值

var num=[2,5,7];
for(let i=0;i<num.length;i++) {
    console.log(num[i])
} /*打印2 5 7*/
 

forEach遍历数组 不能直接中止循环(break,return)

var num=[2,5,7];
num.max='this is max';

num.forEach( num => {
    console.log(num)
}) /*打印2 5 7*/     

num.forEach( num => {
    if(num == 5){
        break; Illegal break statement 报错
    }
    console.log(num)
})  

for..in遍历对象和数组 由于可以遍历出所有的可枚举属性,所以在数组上不建议使用

var num=[2,5,7];
num.max='this is max'; 

for(let index in num){
    console.log(num[index])
}/*打印 2 5 7 'this is max'  */
var arr=[{city:'厦门'},{city:'福州'},{city:'三明'},{city:'泉州'}];
for(let index in arr){
    if(arr[index].city === '三明') break; /*return 会报错*/
        console.log(arr[index].city) 
}/*打印 厦门 福州*/

遍历对象

var obj={province:'福建',city:'厦门',block:'湖里'};
for(let item in obj){
    console.log(item)
}/*打印 province city block*/

for..of 可以中止循环,同时又避开了for-in 的缺点(遍历所有可枚举属性),for of 可遍历类型

  • 数组
  • 大多数类数组对象:如DOM的NodeList对象
  • 字符串
  • 也支持map和set对象的遍历
var num=[2,5,7];
num.max='this is max';

for(let item of num){
    console.log(item) 
}/*打印 2 5 7*/
for(let item of num){
    if(item == 5) break;
    console.log(item) 
}/*打印 2*/

 

forEach for..of遍历数组,for..in遍历对象

for..in和for 都是通过下标索引来获取值,froEach和for..of通过获取指针指向当前value值

 

posted @ 2018-08-29 14:50  yewook  阅读(897)  评论(0编辑  收藏  举报