先造一个数组:

let a = [1,22,33,4,5,63,7,33];

1. forEach() 迭代遍历后跟三个参数:值,索引,数组本身;

a.forEach(aa);
function aa(val,index,array){
	console.log(index+"*"+val); //0*1 1*22...
}

2. map()通过对每个数组元素执行函数来创建新数组,迭代函数后跟三个参数:值,索引,数组本身,当仅需value时,index和array可以省略

let b = a.map(bb);
function bb(val){
	return val+1;
}

b.forEach(cc);
function cc(val,index,array){
	console.log(index+"--"+val); // 0--2 1--23...
}

3.filter()方法创建一个包含通过测试的数组元素的新数组,迭代函数后跟三个参数:值,索引,数组本身,当仅需value时,index和array可以省略

let c = a.filter(dd);
function dd(val){
	return val > 20;
} 
c.forEach(ii);
function ii(val,index,array){
	console.log(index+":"+val); // 0:22 1:33....
}

4. reduce()将数组值合并为一个,减少数组数量,用于累计,累乘等场合,接受4个值:总数,值,index,array,index和array可以省略,不会改变原数组;

var sum = a.reduce(ee); 
function ee(total, value) {
return total * value;
}
console.log(sum); //211309560

5. every()检查全部值是否通过测试,返回布尔值,都满足条件为true,迭代函数后跟三个参数:值,索引,数组本身,当仅需value时,index和array可以省略

var allOver18 = a.every(ff);
function ff(value) {
	return value > 18;
}
console.log(allOver18); // false

6.some() 方法检查某些数组值是否通过了测试,返回布尔值,当仅需value时,index和array可以省略。

var someOver18 = a.some(gg);
function gg(value) {
	return value > 18;
}
console.log(someOver18);// true

7.indexOf() 方法在数组中搜索元素值并返回其位置-索引值,参数:indexOf(item, start开始位置);lastIndexOf()从数组结尾开始搜索并返回位置。

let indexs =  a.indexOf(33);
console.log(indexs); //2

8.find() 方法返回通过测试函数的第一个数组值,迭代函数后跟三个参数:值,索引,数组本身,当仅需value时,index和array可以省略;findIndex() 方法返回通过测试函数的第一个数组元素的索引。

let ab = a.find(hh);
function hh(val){
	return val > 33; //63
}

版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。
转载请注明来源:总结数组迭代笔记 - Qui-Note