Js关于数组的遍历方法

来源:互联网 发布:剑灵数据互通查询 编辑:程序博客网 时间:2024/06/05 04:08

Js关于数组的遍历方法


       本篇用于记录了一些关于数组的遍历方法,若还有新的方法希望可以留言,相互学习,感谢

       方法一:for循环遍历

    var array = [1,2,3,4,5]    for(var i = 0; i<array.length;i++){        console.log(array[i])                //依次返回1,2,3,4,5    }

       方法二:for..in..遍历

    var array = [1,2,3,4,5]    for(var i in array){       /*这里的i与方法一相同为该数组下标*/        console.log(i)                       //依次返回0,1,2,3,4        console.log(array[i])                //依次返回1,2,3,4,5    }

       方法三:for..of..遍历

    var name = {}    var array = ["张三",name,"李四",4,5]    for(var i of array){    /*注意这里i与上面方法不相同,直接遍历的是数组中的元素*/        console.log(i)                       //依次返回"张三",name,"李四",4,5        console.log(array[i])                //依次返回1,2,3,4,5    }

       方法四:Array.forEach()

    array.forEach(function(item,index,array){},thisArg}               

       该方法分别可以传三个参array,callback,thisArg

       array 指当前你要遍历的对象;

       callback(回调函数) 指每次遍历执行的方法,其中也可以穿三个参数,分别是item,index和array,item指当前元素,index指当前下标,array指当前数组;

       thisArg 指在回调函数中的this,可不写,默认为window.

       下面为示例:

    var name = {        className:"我是name的class"    }    var ary = ["张三",name,"李四",4,5];    ary.forEach(function(item,index,array){        console.log(item)                     //返回"张三",name,"李四",4,5        console.log(index)                    //返回0,1,2,3,4        console.log(array)                    //返回["张三",name,"李四",4,5],即ary这个数组        console.log(this)                     //返回 name    },name)

       方法五:Array.map()

    array.map(function(item,index,array){},thisArg}               

       该方法严格说来不应该算在遍历数组的这个范围中,其主要功能是生成新数组,但确实也能完成forEach()的效果,姑且线记录在这里,它的用法与forEach()相同,

       下面为范例:

    var name = {        className:"我是name的class"    }    var ary = ["张三",name,"李四",4,5];    var c = ary.map(function(item,index,array){        console.log(item)                     //返回"张三",name,"李四",4,5        console.log(index)                    //返回0,1,2,3,4        console.log(array)                    //返回["张三",name,"李四",4,5],即ary这个数组        console.log(this)                     //返回 name        return index                          //与forEach()最大的不同就在这里,该回调函数所return的所有值都会push到一个数组中    },name)    console.log(c)                            //返回[0,1,2,3,4],即遍历出来并return的所有下标

       如果仅仅是遍历数组的话还是推荐前四种方法,毕竟该方法的主要左右不是为了遍历数组。

1 0