黑马程序员技术交流社区

标题: 【上海校区】js中关于数组的遍历 [打印本页]

作者: web前端田达    时间: 2018-5-14 21:56
标题: 【上海校区】js中关于数组的遍历
本帖最后由 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

作者: 不二晨    时间: 2018-7-16 12:04
奈斯
作者: 3095007272    时间: 2018-7-17 09:09
good!谢谢
作者: wuqiong    时间: 2018-7-17 09:18

作者: 不二晨    时间: 2018-7-17 13:53
奈斯
作者: 吴琼老师    时间: 2018-7-18 15:12

作者: 不二晨    时间: 2018-7-18 15:17
吴琼老师 发表于 2018-7-18 15:12

奈斯,优秀




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2