5-14 forEach-数组简易循环(实例:数组的汇总)
forEach()方法可以循环迭代数组的每个元素,并对每个元素都调用一次指定的函数。该方法相当于 for/of循环语句的简化写法。且该方法没有返回值。
1.forEach()方法:
forEach(值=>公式或方法)
forEach((使用值,索引)=>公式或方法)
forEach((使用值,索引,数组)=>公式或方法)
2.forEach数组简易循环解析:
function test(){
var arr=[2,3,5,10]
var sum1=10
arr.forEach(v=>sum1 +=v); //累计求和(只使用值)
解析:arr为自定义数组.forEach为简易循环函数(v为数组中的一个元素值=>为箭头函数sum为求和函数+为加号=v为赋值给V);
意思:为arr数组中的每一个元素值与sum1相加,结果在sum1中。
arr.forEach((x,y)=>Console.log(x+"|"+y))//显示(元素值、索引号)
解析:arr为自定义数组.forEach为简易循环函数((x为数组中的一个元素值,y为数组中的一个索引号)=>为箭头函数Console.log为显示函数(x+"|"+y)为元素值"|" 索引号);
意思:为arr数组中的每一个元素值与索引号,显示在立即窗口。
arr.forEach((x,y,z)=>{z[y]=x*10});//转换数组(元素值、索引号、数组)
解析:arr为自定义数组.forEach为简易循环函数((x为数组中的一个元素值,y为数组中的一个索引号,数组)=>为箭头函数{z[y]=x*10}为{数组[索引号]=元素值*10})
意思:为arr数组中的每一个元素值*10,结果z等于[20,30,50,100]。
}
function test(){var arr=[2,3,5,10]var sum1=10arr.forEach(v=>sum1 +=v); //累计求和(只使用值)解析:arr为自定义数组.forEach为简易循环函数(v为数组中的一个元素值=>为箭头函数sum为求和函数+为加号=v为赋值给V);意思:为arr数组中的每一个元素值与sum1相加,结果在sum1中。arr.forEach((x,y)=>Console.log(x+"|"+y))//显示(元素值、索引号)解析:arr为自定义数组.forEach为简易循环函数((x为数组中的一个元素值,y为数组中的一个索引号)=>为箭头函数Console.log为显示函数(x+"|"+y)为元素值"|" 索引号);意思:为arr数组中的每一个元素值与索引号,显示在立即窗口。arr.forEach((x,y,z)=>{z[y]=x*10});//转换数组(元素值、索引号、数组)解析:arr为自定义数组.forEach为简易循环函数((x为数组中的一个元素值,y为数组中的一个索引号,数组)=>为箭头函数{z[y]=x*10}为{数组[索引号]=元素值*10})意思:为arr数组中的每一个元素值*10,结果z等于[20,30,50,100]。}
3.实例:数组求和、最大值、计数
function test2(){
var wsf=WorksheetFunction;var arr=[122,133,144,92,71,155];
var newarr=[];
arr.forEach(x=>{if(x>=100)newarr.push(x)})
var ar=[wsf.Sum(newarr),wsf.Max(newarr),wsf.CountA(newarr)];
alert(`求和:${ar[0]}\n最大:${ar[1]}\n计数:${ar[2]}`)
}
function test2(){
var wsf=WorksheetFunction;var arr=[122,133,144,92,71,155];
var newarr=[];
arr.forEach(x=>{if(x>=100)newarr.push(x)})var ar=[wsf.Sum(newarr),wsf.Max(newarr),wsf.CountA(newarr)];alert(`求和:${ar[0]}\n最大:${ar[1]}\n计数:${ar[2]}`)}