1.Array.forEach();(遍历)
从头到尾遍历数组 (没有返回值 只能通过 try/catch 终止循环)
它不改变原数组,它有三个参数,
第一个参数:元素;
第二个参数:下标;
第三个参数:原数组;
var arr = [2,3,4,5];
var res= arr.forEach(function(ele, index, array){
console.log(ele, index, array);
});
console.log(res);//undefined;
输出结果:
2.Array.map();(映射)
它要有返回值 return 返回被加工的新元素
返回新的数组,不改变原数组
var arr = [2,3,4,5];
var res= arr.map(function(ele, index, array){
// console.log(ele, index, array);
return ele +1;
});
console.log(res);//加工后的数组
console.log(arr);//原数组
输出结果:
3.Array.filter();(过滤)
它返回满足条件的元素,组成新的数组
return 条件;//元素是否满足定义的条件;
var arr = [2,3,4,5];
var res= arr.filter(function(ele, index, array){
// console.log(ele, index, array);
return ele >=4;
});
console.log(res);//过滤后的数组
console.log(arr);//原数组
输出结果:
4.Array.every(); 和 Array.some();
every();每一项都返回ture,则返回ture;
some();某一项返回ture,则返回ture;
//every();
var arr = [2,3,4,5];
var res = arr.every(function(ele,index, arr){
console.log(ele,index, arr);
return ele>1;
});
console.log(res);
//some();
var arr = [2,3,4,5];
var res = arr.some(function(ele,index, arr){
console.log(ele,index, arr);
return ele>3;
});
console.log(res);
every();的输出结果:
some();的输出结果:
5.Array.reduce(); 和 Array.reduceRight();
使用指定的函数将数组元素进行组合,生成单个值
指定函数中第一个参数为前一个值
第二个参数为前一个值
array.reduce(function(上一个值,当前元素{},起始值)
reduce();从数组的第一项开始,逐个遍历到最后一个;
reduceRight();则从数组的最后一项开始向前遍历到第一项;
//reduce();
var arr = [2,3,4,5];
var res = arr.reduce(function(pre,cur,index){
console.log(pre,cur,index);
return pre+cur;
},10);
console.log(res);
//reduceRight();
var arr = [2,3,4,5];
var res = arr.reduceRight(function(pre,cur,index){
console.log(pre,cur,index);
return pre+cur;
},10);
console.log(res);
reduce();的输出结果:
reduceRight();的输出结果: