javascript数组浅谈3

前两节说了数组最基本的创建,队列方法,排序和一些操作方法,这节说说迭代和归并方法。

    every()方法 & some()方法

这两个方法会对数组中的每一项运行给定函数,然后返回一个布尔值,理解起来可以当成everyone和someone的区别来理解,看个例子就好了:

var  arr=[1,2,3,4,5];
var everyResult=arr.every(function(item,index,arr){

      return (item>2);     
})        //false
var someResult=arr.some(function(item,index,arr){
 
       return (item>2);     
})        //true

两个方法都执行一个函数,函数的第一个参数表示迭代的每个数组元素,第二个参数表示下标,第三个参数表示该数组。

    filter()方法

1 var arr=[1,2,3,4,5]
2 var filterResult=arr.filter(function(item,index,arr){
3        return (item>2)
4 })    //[3,4,5]

 

该方法对数组中每一项执行给定函数,返回该函数会返回true的项所组成的数组。

    map()方法 & forEach()方法

map()返回每次函数调用的结果组成的数组,forEach()则没有返回值。

1 var arr=[1,2,3,4,5]
2 var mapResult=arr.map(function(item,index,arr){
3        return item*2
4 })    //[2,4,6,8,10]
5 var forResult=arr.forEach(function(item,index,arr){
6        //可执行一些操作
7 })    //undefined

forEach()本质上与使用for循环迭代数组一样。

 

    reduce()方法 & reduceRight()方法

1 var arr=[1,2,3];
2 arr.reduce(function(x,y,index,arr){
3 
4       return x+y
5 },0);    //6

 

这两个方法都有两个参数,第一个是一个要执行的回调函数,第二个表示要作为归并基础的初始值(可选)。

    indexOf()方法 & lastIndexOf()

1 var arr=[1,2,3,4,5];
2 arr.indexOf(1,-1);    //-1
3 arr.lastIndexOf(1,-1)    //0

 

接收两个参数,第一个表示要查找的元素,第二个表示开始位置,如果有则返回该元素在该数组中的位置下标,没有则返回-1

 

 

    数组大概就总结这么多,同时数组也是对象,以后会在对象的学习总结中再来探讨。

 

posted @ 2016-05-18 15:39  王小伞  阅读(350)  评论(0编辑  收藏  举报