迭代方法
every()方法
对数组中的每一项运行给定函数,如果该函数对每一项都返回true,则返回true
let number = [1,2,3,4,5,6,7,8,9,10,11,12,1,31,21];
例子1:
let everyResult = number.every(function(item,index,array){
console.log('item:'+item); //item:1
console.log('index:'+index); //index:0
console.log('array:'+array); //array:1,2,3,4,5,6,7,8,9,10,11,12,1,31,21
});
console.log(everyResult); // false
例子2:
let everyResult2 = number.every(function(item,index,array){
return item>2;
});
console.log(everyResult2); // false
例子3:
let everyResult3 = number.every(function(item,index,array){
return item>=1;
});
console.log(everyResult3); // true
some()方法
对数组中的每一项运行给定函数,如果该函数对任一项返回true,则返回true。
例子1:
let someResult = number.some(function(item,index,array){
console.log('item:'+item); //每一项都输出
console.log('index:'+index);
console.log('array:'+array);
});
console.log(someResult); // false
例子2:
let someResult2 = number.some(function(item,index,array){
return item>2;
});
console.log(someResult2); // true
例子3:
let someResult3 = number.some(function(item,index,array){
return item<0;
});
console.log(someResult3); // false
filter()方法
对数组中的每一项运行给定函数,返回函数会返回true的项组成的数组。
例子1:
let filetResult = number.filter(function(item,index,array){
console.log('item:'+item);
console.log('index:'+index);
console.log('array:'+array);//循环输出所有项
});
console.log(filetResult);// 空数组
例子2:
let filetResult2 = number.filter(function(item,index,array){
return item>4;
});
console.log(filetResult2);// (10) [5, 6, 7, 8, 9, 10, 11, 12, 31, 21]
例子3:
let filetResult3 = number.filter(function(item,index,array){
return item<1;
});
console.log(filetResult3);//空数组
map()方法
对数组中的每一项运行给定函数,返回每次函数调用的结果组成的数组。
例子:
let mapResult = number.map(function(item,index,array){
return item*2;
});
console.log(mapResult);//(15) [2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 2, 62, 42]
forEach()方法
对数组中的每一项运行给定函数,没有返回值。
numbers.forEach(function(item,index,array){
//执行某些操作
});
归并方法
reduce()和reduceRight()这两个方法都会迭代数组的所有项,然后构建一个最终返回的值。
reduce()方法从第一项开始逐个遍历到最后
reduceRight()方法从最后一项开始,向前遍历到第一项。
函数的四个参数:前一个值,当前值,项的索引,数组对象。
例子1:
let reduceResult = number.reduce(function(prev,cur,index,array){
return prev + cur;
});
console.log(reduceResult); //131
例子2:
let reduceRightResult = number.reduceRight(function(prev,cur,index,array){
return cur*2;
});
console.log(reduceRightResult); //2