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 相关文章推荐
jQuery.Highcharts.js绘制柱状图饼状图曲线图
Mar 14 Javascript
jQuery创建自定义的选择器用以选择高度大于100的超链接实例
Mar 18 Javascript
JQuery Mobile 弹出式登录框的实现方法
May 28 Javascript
jquery 中toggle的2种用法详解(推荐)
Sep 02 Javascript
node.js调用Chrome浏览器打开链接地址的方法
May 17 Javascript
简单谈谈React中的路由系统
Jul 25 Javascript
JavaScript中重名的函数与对象示例详析
Sep 28 Javascript
JavaScript多线程运行库Nexus.js详解
Dec 22 Javascript
vue的diff算法知识点总结
Mar 29 Javascript
Vue 框架之动态绑定 css 样式实例分析
Nov 14 Javascript
Vue的属性、方法、生命周期实例代码详解
Sep 17 Javascript
微信小程序开发摇一摇功能
Nov 22 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
PHP管理依赖(dependency)关系工具 Composer的自动加载(autoload)
2014/08/18 PHP
Thinkphp调用Image类生成缩略图的方法
2015/03/07 PHP
Thinkphp和Bootstrap结合打造个性的分页样式(推荐)
2016/08/01 PHP
php表单习惯用的正则表达式
2017/10/11 PHP
jquery 图片缩放拖动的简单实例
2014/01/08 Javascript
jquery解析xml字符串示例分享
2014/03/25 Javascript
javascript巧用eval函数组装表单输入项为json对象的方法
2015/11/25 Javascript
果断收藏9个Javascript代码高亮脚本
2016/01/06 Javascript
jquery if条件语句的写法
2016/05/19 Javascript
原生js三级联动的简单实现代码
2016/06/07 Javascript
jQuery中$.ajax()方法参数解析
2016/10/22 Javascript
bootstrap 模态框(modal)实现水平垂直居中显示
2017/01/23 Javascript
js实现类bootstrap模态框动画
2017/02/07 Javascript
JS获取鼠标位置距浏览器窗口距离的方法示例
2017/04/11 Javascript
详解ES6 Symbol 的用途
2018/10/14 Javascript
vue调试工具vue-devtools安装及使用方法
2018/11/07 Javascript
一个因@click.stop引发的bug的解决
2019/01/08 Javascript
vue自定义指令实现方法详解
2019/02/11 Javascript
Python学习笔记之os模块使用总结
2014/11/03 Python
Python xlwt设置excel单元格字体及格式
2020/04/18 Python
python 输出所有大小写字母的方法
2019/01/02 Python
PyQt5基本控件使用详解:单选按钮、复选框、下拉框
2019/08/05 Python
用html5实现语音搜索框的方法
2014/03/18 HTML / CSS
全球异乡人的跨境社交电商平台:Kouhigh口嗨网
2020/07/24 全球购物
SQL数据库笔试题
2016/03/08 面试题
中科软笔试题和面试题
2014/10/07 面试题
装修五一活动策划案
2014/01/23 职场文书
食堂采购员岗位职责
2014/03/17 职场文书
合作经营协议书
2014/04/17 职场文书
写求职信有哪些注意事项
2014/05/08 职场文书
人民调解员先进事迹材料
2014/05/08 职场文书
党员干部廉洁承诺书
2014/05/28 职场文书
小学亲子活动总结
2014/07/01 职场文书
北京颐和园导游词
2015/01/30 职场文书
2015最新婚礼司仪主持词
2015/06/30 职场文书
2016年大学生暑期社会实践方案
2015/11/26 职场文书