六个数组迭代归并方法总结
- 第一个
every
方法//返回值为Boolean类型,当数组中所有值迭代时都返回true时,该方法才返回true
let arr5 = [3,4,5,6,7,8];
let result8 = arr5.every(item => item > 2);
console.log(result8);//这里返回true - 第二个
some
方法//和every对应,some方法,是当数组中只要有一个值在迭代时返回true,该方法就返回true
let result9 = arr5.some(item => item > 7);
console.log(result9);//这里也将返回true - 第三个
filter
方法(过滤)//顾名思义,该方法就是过滤掉原数组中的一些元素,留下一些元素,返回一个新的数组
let arr3 = [1,2,3,5,6,7,8,9];
let result6 = arr3.filter(function(item,index,arr) {
return item%3 === 0;
});
console.log(result6);//返回的数组的元素都是能被3整除的
//同样的以上代码可以用箭头函数来代替
let result7 = arr3.filter(item => item%3 === 0);//看起来简洁多了
console.log(result7); - 第四个
map
方法 (映射,也就是一对一,一进一出)//map 叫做映射或者迭代,对数组里面的元素进行相同的操作再返回一个结果数组
//结果数组的length和原数组的length相等
let arr1 = [12,44,55,64,77,88,99];
let result1 = arr1.map(function(item,index,arr) {return item > 60 ? ‘及格’ : 不及格’;});
console.log(result1);
//使用箭头函数配合迭代方法,和上面的效果是一样的,但是看起来要简洁一些
let result2 = arr1.map(item=>item > 60 ? ‘及格’ : ‘不及格’);
console.log(result2); - 第五个
forEach
方法(普通的循环迭代)let arr4 = [1,2,3,4,5];
arr4.forEach((item,index,arr) => {console.log(index + “:” + item);}); 第六个
reduce
方法(归并或叫做汇总 多个进去出来一个)//两个参数:第一个是迭代的函数
// 第二个为可选参数,迭代的初始值,如果没有传该值,则以数组的第一个元素为初始值(迭代次数为数组length-1),如果传了初始值则迭代次数为数组的length
let result3 = arr1.reduce(function(pre,curr,index,arr) {return pre + curr;},1000);
console.log(result3);
//同理的,使用箭头函数配合可以达到result3同样的效果
let result4 = arr1.reduce((pre,curr,index,arr) => curr + pre,1000);
console.log(result4);//例子:利用reduce求取平均值,最后一次求和并且 求 平均,不是最后一次,就只是求和而已
let arr2 = [1,2,3,4,5,6,7,8,9,10];
let result5 = arr2.reduce((pre,curr,index,arr) => (index === (arr2.length - 1) ? (pre + curr) / arr2.length : pre + curr);