A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 web前端田达 于 2018-5-14 22:01 编辑

js中的数组遍历

       在js中经常要求对数组中的每一项进行处理,或者寻找某一特定的项进行处理,那么数组的遍历就是必不可少的操作了,下面就为大家分享一些我的数组遍历方法。

      1、for循环遍历方法:这是循环的最常用的方法,当然我们数组也会用到。

        1.1、普通的for循环:
           var arr = ["a","b","c"]
           for(var i = 0;i < arr.length;i++){
              console.log(i,arr);
           }
         这里输出的i和arr分别是下标和相对应的元素

1.2、for in 循环
         var arr=["a","b","c"]
         for(i in arr){
           console.log(i,arr);
         }
      这段代码心输出i和arr和第一种相同,但是这种方法的效率较低,一般用于对象的遍历获取键和相应的值
    1.3、for of 循环
var arr=[1,2,3,4,5]
         for(v of arr){
         consoel.log(v);
       }
     此方法是es6中的方法,此方法不能获取到数组的下标,输出的都是数组里面的元素;
  2、带有回调函数的遍历:上面的这些方法都是利用for循环来实现遍历,也有些方法是用数组来调用然后使用回调函数来处理的
    2.1 forEach遍历:
         var arr=[1,2,3,4,5]
           arr.forEach(function(v,i,n){
          console.log(v,i,n);
           })
      输出的V为数组里面的元素,i为对应的下标,n为当前项,我们可以为n进行处理 如下:
    var arr=[1,2,3,4,5]
           arr.forEach(function(v,i,n){
             n=v+1;
             console.log(v,i,n)
           })
     console.log(arr)
这里最后输出的arr为[2,3,4,5,6],也就是说在forEach里面对n进行处理的话会影响原数组的。
   2.2 map遍历:map遍历和forEach很相像但是map支持返回值
        var  arr=[1,2,3,4,5]
       var  newArr=arr.map(function(v,i,n){
          return v*2
        })
       console.log(arr)  //[1,2,3,4,5]
         console.log(newArr) //[2,4,6,8,10]
这里的输出可以看出,原始的数组并没有改变,只有新的数组里面的数据才会*2

6 个回复

倒序浏览
奈斯
回复 使用道具 举报
good!谢谢
回复 使用道具 举报
回复 使用道具 举报
奈斯
回复 使用道具 举报
回复 使用道具 举报
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马