大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全系列IDE稳定放心使用
对于数组求和有多种方法:
1:递归方法
function sum(arr){
var len =arr.length;
if(len==0){
return 0;
}else if(len==1){
return arr[0];
}else{
return arr[0]+sum(arr.slice(1));
}
}
var a=new Array(1,2,3,4,5);
document.write(sum(a));
输出结果:
该方法的原理是利用slice方法一直获取子函数中的第一个元素,达到遍历数组中所有元素的效果。
2:常规循环
function sum(arr){
var a=0;
for(var i=0;i<arr.length;i++){
a+=arr[i];
}
return a;
}
基础,没什么好讲的
3:函数式编程 map-reduce
reduce的用法是将函数组中,函数必须接受2个参数,把结果继续和序列的下一个元素做累计,如
[x1, x2, x3, x4].reduce(f) = f(f(f(x1, x2), x3), x4)
function sum(arr){
return arr.reduce(function(prep,curr,idx,arr){
return prep+curr;
});
}
var a=new Array(1,2,3,4);
document.write(sum(a));
结果为:。
4:forEach遍历
定义: forEach() 方法用于调用数组的每个元素,并将元素传递给回调函数。其实forEach()是Array下的一个方法.
注意: 无法使用break等语句跳出遍历, 直到所有元素都传递给调用的函数, 但是可以使用抛出异常, 提前终止循环
function sum(arr){
var s=0;
arr.forEach(function(val,idx,arr){
s+=val;
});
return s;
}
var a=new Array(1,2,3,4);
document.write(sum(a));
输出结果:
5:eval方法
function sum(arr) {
return eval(arr.join(“+”));
};
var a=new Array(1,2,3,4);
document.write(sum(a));
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/186542.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...