.forEach()数组遍历
var arr=[1,2,3,4];
arr.forEach(function(item,index,a){
console.log('index'+'['+index+']='+item+(a===arr));
});
index[0]=1
index[1]=2
index[2]=3
index[3]=4
函数中第一个参数是数组的元素的值,第二个参数是数组元素的索引,第三个参数是数组本身。
.map映射
map() 方法按照原始数组元素顺序依次处理元素并返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。map()
var arr=[1,2,3,4,5];
console.log(arr.map(function(x){
return x+10;
}));-------[11, 12, 13, 14, 15]
map的参数是个对数组元素进行处理的函数。
.filter过滤
var arr=[1,2,3,4,5];
console.log(arr.filter(function(x,index){
return index%2==0&&x>1;
}));------[3, 5]
function(x,index):第一个参数是数组索引为index的元素的值,第二个参数是数组元素的索引。
filter同样 不会改变原始数组。
every, some数组判断
every是判断是否数组中每个元素都符合,some是判断是否数组中存在元素满足条件。
var arr=[1,2,3,4,5];
console.log(arr.every(function(x){
return x==2;
}));----false
var arr=[1,2,3,4,5];
console.log(arr.some(function(x){
return x==2;
}));----true
函数的参数就相当于数组的每个元素,every中return x等于2;意思就是数组中所有元素等于2则返回true,相当于if(x==2){return true;}
reduce/reduceRight
reduce() 方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。
array.reduce(function(total, currentValue, currentIndex, arr), initialValue)
参数 描述
total 必需。初始值, 或者计算结束后的返回值。
currentValue 必需。当前元素
currentIndex 可选。当前元素的索引
arr 可选。当前元素所属的数组对象。
var arr=[1,2,3,4,5];
var sum=arr.reduce(function(X,Y){
return X+Y;
});
console.log(sum);----15
原数组依然不变。
reduceRight和reduce差不多,只是他是从右到左遍历。
index/lastIndex
arr.indexOf(searchvalue,fromindex)
参数 描述
searchvalue 必需。规定需检索的字符串值。
fromindex 可选的整数参数。规定在字符串中开始检索的位置。它的合法取值是 0 到 stringObject.length - 1。如省略该参数,则将从字符串的首字符开始检索。