本帖最后由 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 |
|