1. forEach
该方法没有返回值,对数组的每一项进行指定操作,回调函数中包括3个参数 v(数组的每一项),i(数组的每一项索引),a(调用该方法的数组)
var arr = [1,2,3]; arr.forEach(function(v,i,a){ })
2. map
该方法必须有返回值,参数函数的返回值作为新数组的元素,不会对原数组进行改变,回调函数中包括3个参数 v(数组的每一项),i(数组的每一项索引),a(调用该方法的数组)
var arr = [1,2,3]; newArr = arr.map(function(v,i,a){ return ++v }) alert(arr)//2,3,4
3. filter
对数组元素进行过滤,返回一个符合要求的新数组,不会改变原数组,回调函数中包括3个参数 v(数组的每一项),i(数组的每一项索引),a(调用该方法的数组)
var arr = [1,2,3]; newArr = arr.filter(function(v,i,a){ return v > 2 }) alert(newArr)//3
4.every
检测数组元素是否满足要求。并且只有数组全部元素都满足要求时,才会返回true,否则返回false
var arr = [1,2,3]; br = arr.every(function(v,i,a){ return v > 0 }) alert(br)//true
var arr = [1,2,3]; br = arr.every(function(v,i,a){ return v > 1 }) alert(br)//false
5.some
与every方法相同,不同的是该方法只要数组元素有一项满足要求,则返回true
var arr = [1,2,3]; br = arr.some(function(v,i,a){ return v > 2 }) alert(br)//true
6.reduce
这个方法对于新手来说或许挺难理解的,类似于nodejs async watefall 串行关联语句,即返回最后一次计算的值,回调函数接收2个参数callbackV(第一次为数组的第一项,例:第二次循环则为第一项操作成功的值),v(数组的每一项索引)
var arr = [1,2,3]; br = arr.reduce(function(x,y){ alert(x);//1,6,11 alert(y);//2,3,11 这里的11为最后一次循环返回给br的值 return x+5; }) alert(br)//11
7.reduceRight(): 与reduce()函数作用相同,只是它从右向左依次取数组元素
8. indexOf 根据参数找数组匹配项,返回项的索引,找不到则返回-1,匹配时使用===全等匹配
var arr = [1,2,3]; i = arr.indexOf(1); alert(i)//0
var arr = [1,2,3]; i = arr.indexOf("1");//这里是字符串1 alert(i)//-1
9. lastIndexOf(value [, start]): 与indexOf()函数相似,只是它是从后面向前面进行搜索
时间: 2024-11-17 18:50:00