JS数组求和的常用方法总结【5种方法】


Posted in Javascript onJanuary 14, 2019

本文实例总结了JS数组求和的常用方法。分享给大家供大家参考,具体如下:

题目描述

计算给定数组 arr 中所有元素的总和

输入描述:

数组中的元素均为 Number 类型

输入例子:

sum([ 1, 2, 3, 4 ])

输出例子:

10

方法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));
  }
}

方法2. 常规循环:

function sum(arr) {
  var s = 0;
  for (var i=arr.length-1; i>=0; i--) {
    s += arr[i];
  }
  return s;
}

方法3. 函数式编程 map-reduce:

function sum(arr) {
  return arr.reduce(function(prev, curr, idx, arr){
    return prev + curr;
  });
}

方法4. forEach遍历:

function sum(arr) {
  var s = 0;
  arr.forEach(function(val, idx, arr) {
    s += val;
  }, 0);
 
  return s;
};

方法5. eval:

function sum(arr) {
  return eval(arr.join("+"));
};
//测试输出运行结果:
console.log(sum([ 1, 2, 3, 4 ]))

使用在线HTML/CSS/JavaScript代码运行工具:http://tools.3water.com/code/HtmlJsRun测试上述代码,可得如下运行结果:

JS数组求和的常用方法总结【5种方法】

感兴趣的朋友可以动手测试一下上述代码。

更多关于JavaScript相关内容还可查看本站专题:《JavaScript数组操作技巧总结》、《JavaScript字符与字符串操作技巧总结》、《JavaScript遍历算法与技巧总结》、《JavaScript排序算法总结》、《JavaScript查找算法技巧总结》、《JavaScript数学运算用法总结》、《JavaScript数据结构与算法技巧总结》及《JavaScript错误与调试技巧总结》

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
Ctrl+Enter提交内容信息
Jun 26 Javascript
$()JS小技巧
Jul 21 Javascript
jquery dialog键盘事件代码
Aug 01 Javascript
Jquery实现自定义弹窗示例
Mar 12 Javascript
JavaScript实现非常简单实用的下拉菜单效果
Aug 27 Javascript
AngularJS国际化详解及示例代码
Aug 18 Javascript
JS控制FileUpload的上传文件类型实例代码
Oct 07 Javascript
jquery.onoff实现简单的开关按钮功能(推荐)
May 24 jQuery
Vuejs+vue-router打包+Nginx配置的实例
Sep 20 Javascript
详解Element-UI中上传的文件前端处理
Aug 07 Javascript
js中位数不足自动补位扩展padLeft、padRight实现代码
Apr 06 Javascript
解决vue的touchStart事件及click事件冲突问题
Jul 21 Javascript
JS实现根据数组对象的某一属性排序操作示例
Jan 14 #Javascript
vue项目中使用vue-i18n报错的解决方法
Jan 13 #Javascript
vscode下vue项目中eslint的使用方法
Jan 13 #Javascript
jQuery实现的中英文切换功能示例
Jan 11 #jQuery
JavaScript寄生组合式继承原理与用法分析
Jan 11 #Javascript
JavaScript常见继承模式实例小结
Jan 11 #Javascript
JavaScript惰性求值的一种实现方法示例
Jan 11 #Javascript
You might like
php4与php5的区别小结(配置异同)
2011/12/20 PHP
基于php的微信公众平台开发入门实例
2015/04/15 PHP
PHP开启opcache提升代码性能
2015/04/26 PHP
thinkPHP框架可添加js事件的分页类customPage.class.php完整实例
2017/03/16 PHP
PHP面向对象程序设计子类扩展父类(子类重新载入父类)操作详解
2019/06/14 PHP
JAVASCRIPT对象及属性
2007/02/13 Javascript
基于json的jquery地区联动效果代码
2011/07/06 Javascript
基于JQuery的类似新浪微博展示信息效果的代码
2012/07/23 Javascript
javascript date格式化示例
2013/09/25 Javascript
Js冒泡事件详解及阻止示例
2014/03/21 Javascript
js实现上传图片预览的方法
2015/02/09 Javascript
JQuery标签页效果实例详解
2015/12/24 Javascript
Javascript的表单验证-揭开正则表达式的面纱
2016/03/18 Javascript
JavaScript预解析及相关技巧分析
2016/04/21 Javascript
数据结构中的各种排序方法小结(JS实现)
2016/07/23 Javascript
在Vue中使用highCharts绘制3d饼图的方法
2018/02/08 Javascript
发布Angular应用至生产环境的方法
2018/12/10 Javascript
JS学习笔记之贪吃蛇小游戏demo实例详解
2019/05/29 Javascript
详解Vue的ref特性的使用
2020/01/24 Javascript
Python 性能优化技巧总结
2016/11/01 Python
Python通过OpenCV的findContours获取轮廓并切割实例
2018/01/05 Python
numpy中实现二维数组按照某列、某行排序的方法
2018/04/04 Python
Python3中的json模块使用详解
2018/05/05 Python
通过shell+python实现企业微信预警
2019/03/07 Python
django框架基于模板 生成 excel(xls) 文件操作示例
2019/06/19 Python
python 实现将多条曲线画在一幅图上的方法
2019/07/07 Python
python中pyplot基础图标函数整理
2020/11/10 Python
Stefania Mode英国:奢华设计师和时尚服装
2017/10/23 全球购物
Chicco婴儿用品美国官网:汽车座椅、婴儿推车、高脚椅等
2018/11/05 全球购物
美国温暖商店:The Warming Store
2018/12/15 全球购物
项目建议书怎么写
2014/05/15 职场文书
环境卫生标语
2014/06/09 职场文书
明星邀请函
2015/02/02 职场文书
2015年感恩节活动总结
2015/03/24 职场文书
2019年感恩励志演讲稿(收藏备用)
2019/09/11 职场文书
Java中Quartz高可用定时任务快速入门
2022/04/03 Java/Android