Javascript之遍历数组方法

作为一个程序对于数组遍历大家都不是很陌生,再开发中我们也经常要处理数组。这里我们讨论下常用的数组遍历方法和区别。

成都创新互联主营北屯网站建设的网络公司,主营网站建设方案,手机APP定制开发,北屯h5成都微信小程序搭建,北屯网站营销推广欢迎北屯等地区企业咨询

1.第一种for循环

 
 
 
  1. var arr = [1,2,3,4,5];  
  2. for(var i=0,i
  3.  console.log("for循环:"+arr[i]); //打印出1,2,3,4,5  

2.for ..in 遍历方式

 
 
 
  1. // for in 遍历需要两个形参 ,index表示数组的下标(可以自定义),arr表示要遍历的数组 
  2. var arr = [{num:1},{num:2},{num:3},{num:4},{num:5}]; 
  3.  
  4. for(var index arr){ 
  5.   
  6.  console.log("index:"+index,"num:"+arr[index].num);// 依次打印出 index:0,num:1... 
  7.   

3.forEach 遍历方式

 
 
 
  1. var arr = [{num:1},{num:2},{num:3},{num:4},{num:5}]; 
  2.  
  3. arr.forEach(function(item,index){ 
  4.  
  5.                 console.log("index:"+index,"num:"+item.num); //同样打印index:0,num:1... 
  6. }); 

4.map 遍历方式

 
 
 
  1. var list = [1, 2, 3, 4, 5]; 
  2.  
  3. var arr = []; 
  4.  
  5. arr = list.map((value, index) => { 
  6. return value * 2; 
  7. }); 
  8.  
  9. console.log(arr);//[2, 4, 6, 8, 10] 
  10.  
  11. 这里map和forEach在遍历数组的区别就是map 有返回值,返回一个新的数组,而forEach没有返回值 

5.for-of遍历方式

 
 
 
  1. var arr = [1,2,3,4,5]; 
  2.  
  3. for(var value of arr){ 
  4.   
  5.      console.log("数组数据:"+value); //1,2,3,4,5 

在这还有一个要想说的就是,在使用遍历数组时候,如果想跳出遍历return true fasle break没有反应,这其实是使用的遍历方法不对,当想跳出循环可以使用every 和 some方法。

 
 
 
  1. //every()当内部return false时跳出整个循环(return true;也要写入) 
  2.  
  3. let list = [1, 2, 3, 4, 5]; 
  4.  
  5. list.every((value, index) => { 
  6.  if(value > 3){ 
  7.  console.log(value); // 4 
  8.  return false; 
  9.  }else{ 
  10.  console.log(value); // 1 2 3 
  11.  return true; 
  12.  } 
  13. }); 
  14.  
  15.  
  16. ================================ 
  17.  
  18. //some 当内部return true时跳出整个循环 
  19.  
  20.  let list = [1, 2, 3, 4, 5]; 
  21.  
  22.  list.some((value, index) => { 
  23.  if(value === 3){ 
  24.  return true; //当内部return true时跳出整个循环 
  25.  } 
  26.  console.log(value)// 1 2  
  27.  }); 

本文标题:Javascript之遍历数组方法
转载源于:http://www.csdahua.cn/qtweb/news4/292704.html

网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网