| 
                            
作为一个程序对于数组遍历大家都不是很陌生,再开发中我们也经常要处理数组。这里我们讨论下常用的数组遍历方法和区别。 
1.第一种for循环 
- var arr = [1,2,3,4,5];  
 - for(var i=0,i<arr.length;i++){  
 -  console.log("for循环:"+arr[i]); //打印出1,2,3,4,5  
 - } 
 
  
2.for ..in 遍历方式 
- // for in 遍历需要两个形参 ,index表示数组的下标(可以自定义),arr表示要遍历的数组 
 - var arr = [{num:1},{num:2},{num:3},{num:4},{num:5}]; 
 -  
 - for(var index arr){ 
 -   
 -  console.log("index:"+index,"num:"+arr[index].num);// 依次打印出 index:0,num:1... 
 -   
 - } 
 
  
3.forEach 遍历方式 
- var arr = [{num:1},{num:2},{num:3},{num:4},{num:5}]; 
 -  
 - arr.forEach(function(item,index){ 
 -  
 -                 console.log("index:"+index,"num:"+item.num); //同样打印index:0,num:1... 
 - }); 
 
  
4.map 遍历方式 
- var list = [1, 2, 3, 4, 5]; 
 -  
 - var arr = []; 
 -  
 - arr = list.map((value, index) => { 
 - return value * 2; 
 - }); 
 -  
 - console.log(arr);//[2, 4, 6, 8, 10] 
 -  
 - 这里map和forEach在遍历数组的区别就是map 有返回值,返回一个新的数组,而forEach没有返回值 
 
  
5.for-of遍历方式 
- var arr = [1,2,3,4,5]; 
 -  
 - for(var value of arr){ 
 -   
 -      console.log("数组数据:"+value); //1,2,3,4,5 
 - } 
 
  
在这还有一个要想说的就是,在使用遍历数组时候,如果想跳出遍历return true fasle  break没有反应,这其实是使用的遍历方法不对,当想跳出循环可以使用every 和 some方法。 
- //every()当内部return false时跳出整个循环(return true;也要写入) 
 -  
 - let list = [1, 2, 3, 4, 5]; 
 -  
 - list.every((value, index) => { 
 -  if(value > 3){ 
 -  console.log(value); // 4 
 -  return false; 
 -  }else{ 
 -  console.log(value); // 1 2 3 
 -  return true; 
 -  } 
 - }); 
 -  
 -  
 - ================================ 
 -  
 - //some 当内部return true时跳出整个循环 
 -  
 -  let list = [1, 2, 3, 4, 5]; 
 -  
 -  list.some((value, index) => { 
 -  if(value === 3){ 
 -  return true; //当内部return true时跳出整个循环 
 -  } 
 -  console.log(value)// 1 2  
 -  }); 
 
  
                         (编辑:我爱故事小小网_铜陵站长网) 
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! 
                     |