1.every():
对数组中的每一项运行给定函数,如果该函数对每一项都返回true,则返回true
2.filter():
对数组中的每一项运行给定函数,返回该函数会返回true的项组成的数组
3.map()
对数组中的每一项运行给定函数,返回每次函数调用的结果组成的数组
4.some()
对数组中的每一项运行给定函数,如果对任一项返回true,则返回true
5.forEach()
让数组的每一项都执行一次给定的函数
语法:array.forEach(callbackfn[, thisArg])
参数 array 必选,一个数组对象
callbackfn 必选,最多可以接受三个参数的函数,对于数组中的每个元素,forEach都会调用callbackfn 函数一次
thisArg 可选,callbackfn 函数中的this关键字可引用的对象。如果省略thisArg, 则undefined 将用作this值
<script type="text/javascript">
function pass_grades(item_value){
return (item_value>=60);}
var grades = [66,44,77,88,22,78,94];
// every(): 对数组中的每一项运行给定函数,如果该函数对每一项都返回true,则返回true
var the_result = grades.every(pass_grades);
document.write('every:'+the_result+'<br />'); // every:false
// filter(): 对数组中的每一项运行给定函数,返回该函数会返回true的项组成的数组
var the_result = grades.filter(pass_grades);
document.write('filter:'+the_result.length+'<br />'); // filter:5
document.write('filter:'+Array.isArray(the_result)+'<br />'); // filter:true
document.write('filter:'+the_result+'<br />'); // filter:66,77,88,78,94
// map() 对数组中的每一项运行给定函数,返回每次函数调用的结果组成的数组
var the_result = grades.map(pass_grades);
document.write('map:'+the_result+'<br />'); // map:true,false,true,true,false,true,true
// some() 对数组中的每一项运行给定函数,如果对任一项返回true,则返回true
var the_result = grades.some(pass_grades);
document.write('some:'+the_result+'<br />'); // some:true
// 让数组的每一项都执行一次给定的函数
var the_result = grades.forEach(function pass_grades(item_value,index){
console.log(item_value);
})
document.write('forEach:'+the_result+'<br />');
</script>
6.reduce():
从前往后进行计算
7.reduceRight():
从后往前进行计算
<script type="text/javascript">
function sub_values(prev_value,next_value){
// 上一个值减下一个值
return(prev_value-next_value);
}
// true = 1;
var nums = [2,true,10,15,20,30];
// 从数组的第一位减到数组的最后一位:2-1-10-15-20-30=-74
var the_result = nums.reduce(sub_values);
document.write(the_result);// -74;
// 从数组的最后一位减到数组的第一位:30-20-15-10-1-2=-18
var the_result = nums.reduceRight(sub_values);
document.write(the_result);// -18;
</script>