数组求和的方法_vb怎么求和数组里的值

数组求和的方法_vb怎么求和数组里的值对于数组求和有多种方法:1:递归方法functionsum(arr){ varlen=arr.length; if(len==0){  return0; }elseif(len==1){  returnarr[0]; }else{  returnarr[0]+sum(arr.slice(1)); }}vara=newArray(1…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新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));

输出结果:数组求和的方法_vb怎么求和数组里的值

该方法的原理是利用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));

结果为:数组求和的方法_vb怎么求和数组里的值

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));

输出结果:数组求和的方法_vb怎么求和数组里的值

5:eval方法

function sum(arr) {

    return eval(arr.join(“+”));
};
var a=new Array(1,2,3,4);
document.write(sum(a));

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/186542.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • mybatiscodehelperpro使用_ios10越狱后必装插件

    mybatiscodehelperpro使用_ios10越狱后必装插件目录一、前言二、安装插件MyBatisCodeHelperPro插件三、激活一、前言在开发中编写生成bean,mapper,mapper.xml即费时也费力,可以通过MyBatisCodeHelperPro自动生成bean,dao,mapper.xml等文件,然后根据自己的需要进行修改。MyBatisCodeHelperPro是IDEA下的一个插件,类似于mybatisplugin,但是是收费的,但可以进行激活使用:下面这个大佬的个人主页上有多个版本的下载链…

    2022年4月19日
    95
  • Unity3D开发资料

    Unity3D开发资料分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;前言(一定要看)首先说

    2022年7月16日
    12
  • idea在类中搜索方法的快捷键_idea控制台搜索快捷键

    idea在类中搜索方法的快捷键_idea控制台搜索快捷键展开全部IntelliJIDEA代码常用的快捷键有:Alt+回车导入包,自动修正Ctrl+N查找类Ctrl+Shift+N查找文件Ctrl+Alt+L格式e69da5e887aa62616964757a686964616f31333365646234化代码Ctrl+Alt+O优化导入的类和包Alt+Insert生成代码(如get,set方法,构造函数等)Ctrl+E或者Alt+…

    2022年10月10日
    0
  • NSUserDefaults API简单的介绍和使用英文文件

    NSUserDefaults API简单的介绍和使用英文文件

    2022年1月10日
    40
  • Java static关键字与static{}语句块

    Java static关键字与static{}语句块目录直通车一、类的加载特性与时机1、 类加载的特性2、类加载的时机二、static的三个常用1、修饰成员变量2、修饰成员方法3、 静态块(static{})一、类的加载特性与时机在进入static之前,先补一下关于类的脑。1、 类加载的特性在JVM的生命周期里,每个类只会被加载一次。类加载的原则:延迟加载,能少加载就少加载,因为虚拟机的空…

    2022年7月17日
    10
  • Java使用SFTP和FTP两种连接服务器的方式实现对文件的上传下载

    Java使用SFTP和FTP两种连接服务器的方式实现对文件的上传下载

    2021年9月26日
    35

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号