数组方法的使用(2)
2019-05-28 本文已影响0人
AuraAura
indexOf()
查询数组中是否存在给定元素的第一个索引,如果不存在返回-1
var arr = [1,2,3,4,5,3];
console.log(arr.indexOf(3));//返回2
forEach()
遍历数组,对数组的每个元素执行一次回调函数
var arr = [1,2,3,4,5,3];
arr.forEach(function (currentValue,index,array){
console.log(currentValue*currentValue);
});

回调函数包括3个参数,第一个参数是数组当前元素的值,第二个参数是当前元素的索引值,第三个参数是当前的数组对象。
map()
创建一个新数组,新数组为是每一个数组元素执行回调函数后的结果
var arr = [1,2,3,4,5,3];
var newArr = arr.map(function (currentValue,index,array){
return currentValue*currentValue;
});
console.log(newArr);//返回[1, 4, 9, 16, 25, 9]

forEach()和map()区别,map()创建一个新的数组,有返回值。
every()
对数组元素进行判断,所有数组元素满足某一条件,返回true,有一个不满足返回false
var arr = [1,2,3,4,5,3];
function isPositiveNumber(element,index,array){
return element>0;
}
console.log(arr.every(isPositiveNumber));//返回true,全部为正数
some()
判读是否有数组元素满足回调函数实现,有一个满足返回true,全部不满足返回false
var arr = [-1,-2,3,-4,-5,-3];
function hasPositiveNumber(element,index,array){
return element>0;
}
console.log(arr.some(hasPositiveNumber));//返回true,有一个正数
filter()
创建一个新数组,结果为筛选数组中满足回调函数实现的元素。
var arr = [-1,2,3,-4,5,-3];
function filterPositiveNumber(element,index,array){
return element>0;
}
var newArr = arr.filter(filterPositiveNumber);
console.log(newArr);//返回[2,3,5],筛选出正数
reduce()
对数组元素依次进行回调函数实现,将最终实现结果返回
var arr = [1,2,3,4,5];
function sum(accumulator,currentValue,currentIndex,array){
return accumulator+currentValue;
}
var sumOfArr = arr.reduce(sum,100);//第二个参数是执行的初始值
console.log(sumOfArr);//返回115,因为100+1+2+3+4+5=115