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 相关文章推荐
XML+XSL 与 HTML 两种方案的结合
Apr 22 Javascript
JavaScript 设计模式 富有表现力的Javascript(一)
May 26 Javascript
javascript instanceof 内部机制探析
Oct 15 Javascript
JavaScript 原型继承之构造函数继承
Aug 26 Javascript
jQuery AJAX实现调用页面后台方法和web服务定义的方法分享
Mar 01 Javascript
js 左右悬浮对联广告代码示例
Dec 12 Javascript
Js与Jq 获取页面元素值的方法和差异对比
Apr 30 Javascript
vue.js实现仿原生ios时间选择组件实例代码
Dec 21 Javascript
浅谈ES6新增的数组方法和对象
Aug 08 Javascript
Vue使用高德地图搭建实时公交应用功能(地图 + 附近站点+线路详情 + 输入提示+换乘详情)
May 16 Javascript
解决ant-design-vue中menu菜单无法默认展开的问题
Oct 31 Javascript
使用JS前端技术实现静态图片局部流动效果
Aug 05 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中$_FILES的使用方法及注意事项说明
2014/02/14 PHP
CI框架中通过hook的方式实现简单的权限控制
2015/01/07 PHP
分享php代码将360浏览器导出的favdb的sqlite数据库文件转换为html
2015/12/09 PHP
PHP实现一个多功能购物网站的案例
2017/09/13 PHP
理解JavaScript中的事件
2006/09/23 Javascript
javaScript 读取和设置文档元素的样式属性
2009/04/14 Javascript
js比较和逻辑运算符的介绍
2013/03/10 Javascript
Enter转换为Tab的小例子(兼容IE,Firefox)
2013/11/14 Javascript
绑定回车enter事件代码
2014/05/18 Javascript
jQuery简单获取键盘事件的方法
2016/01/22 Javascript
Angular中$compile源码分析
2016/01/28 Javascript
js调用父框架函数与弹窗调用父页面函数的简单方法
2016/11/01 Javascript
Vue 滚动行为的具体使用方法
2017/09/13 Javascript
JQuery通过后台获取数据遍历到前台的方法
2018/08/13 jQuery
layui弹出层按钮提交iframe表单的方法
2018/08/20 Javascript
Vue实现移动端左右滑动效果的方法
2018/11/27 Javascript
vue 地图可视化 maptalks 篇实例代码详解
2019/05/21 Javascript
jQuery实现图片下载代码
2019/07/18 jQuery
layui 关闭open弹出框 刷新table表格页面的方法
2019/09/16 Javascript
npm qs模块使用详解
2020/02/07 Javascript
JavaScript冒泡算法原理与实现方法深入理解
2020/06/04 Javascript
vue抽出组件并传值实例
2020/07/31 Javascript
python利用lxml读写xml格式的文件
2017/08/10 Python
详解利用Python scipy.signal.filtfilt() 实现信号滤波
2019/06/05 Python
python opencv调用笔记本摄像头
2019/08/28 Python
tensorflow pb to tflite 精度下降详解
2020/05/25 Python
python小白切忌乱用表达式
2020/05/29 Python
Matlab使用Plot函数实现数据动态显示方法总结
2021/02/25 Python
DJI全球:DJI Global
2021/03/15 全球购物
金融专业大学生职业生涯规划范文
2014/01/16 职场文书
人事助理自荐信
2014/02/02 职场文书
校企合作协议书
2014/04/16 职场文书
社区学习雷锋活动总结
2014/04/25 职场文书
后进基层党组织整改方案
2014/10/25 职场文书
学校食品安全责任书
2015/01/29 职场文书
opencv深入浅出了解机器学习和深度学习
2022/03/17 Python