数组求和的方法_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)
上一篇 2022年10月3日 上午6:36
下一篇 2022年10月3日 上午6:46


相关推荐

  • 设置360极速浏览器的模式默认为极速模式

    设置360极速浏览器的模式默认为极速模式如题 这个问题在 360 官网上面有详细的介绍 下面贴上地址 http se 360 cn v6 help meta html 我自己在这里做一个备注 360 给我们提供了一个标签来控制 360 浏览器的默认模式 nbsp 在 head 标签中添加一行代码 content 的取值为 webkit ie comp ie stand 之一 区分大小写 分别代表用 webki

    2026年3月16日
    3
  • windows环境下vue开发环境搭建

    windows环境下vue开发环境搭建vue 环境搭建浏览器 chormeIDE VScode 或者 WebStormNode js8 9 npm 先下载 node js 然后安装 https nodejs org en 下载了 windows 版 64 位 node js 安装 cmd 进入 dos 输入 node v 检查 node 安装上没有这样就已经是安装成功了 由于在国内使用

    2026年3月26日
    2
  • DAVINCI DM365-DM368开发攻略——开发环境搭建(DVSDK4.02) 适用于DM3730[通俗易懂]

    DAVINCI DM365-DM368开发攻略——开发环境搭建(DVSDK4.02) 适用于DM3730[通俗易懂]DAVINCIDM365-DM368开发攻略——开发环境搭建(DVSDK4.02)标签:开发环境 搭建 dvsdk DM368 DM365原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://zjbintsystem.blog.51cto.com/964211/621435第一节、 技术开发环

    2022年8月13日
    6
  • mybaties中resultMap和resultType的区别

    mybaties中resultMap和resultType的区别总结基本映射 resultType 使用 resultType 进行输出映射 只有查询出来的列名和 pojo 中的属性名一致 该列才可以映射成功 数据库 实体 查询字段 这些全部都得一一对应 高级映射 resultMap 如果查询出来的列名和 pojo 的属性名不一致 通过定义一个 resultMap 对列名和 pojo 属性名之间作一个映射关系 高级映射 字段名称可以不一致 通过映射来实现 resu

    2026年3月20日
    3
  • datagrip激活码2020 mac_通用破解码

    datagrip激活码2020 mac_通用破解码,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月17日
    151
  • 腾讯押错「宝」

    腾讯押错「宝」

    2026年3月12日
    2

发表回复

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

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