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 相关文章推荐
JavaScript 学习笔记(十一)
Jan 19 Javascript
js split 的用法和定义 js split分割字符串成数组的实例代码
May 13 Javascript
js获取客户端外网ip的简单实例
Nov 21 Javascript
javascript实现多级联动下拉菜单的方法
Feb 06 Javascript
浅谈javascript中this在事件中的应用
Feb 15 Javascript
JavaScript中Math.SQRT2属性的使用详解
Jun 14 Javascript
设置点击文本框或图片弹出日历控件的实现代码
May 12 Javascript
如何实现json数据可视化详解
Nov 24 Javascript
angularjs ocLazyLoad分步加载js文件实例
Jan 17 Javascript
JavaScript 获取元素在父节点中的下标(推荐)
Jun 28 Javascript
jQuery常见的遍历DOM操作详解
Sep 05 jQuery
antd组件Upload实现自己上传的实现示例
Dec 18 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 foreach循环使用详解与实例代码
2010/05/08 PHP
php读取csv实现csv文件下载功能
2013/12/18 PHP
Apache服务器下防止图片盗链的办法
2015/07/06 PHP
分享五个PHP7性能优化提升技巧
2015/12/07 PHP
利用PHP获取网站访客的所在地位置
2017/01/18 PHP
使用 JScript 创建 .exe 或 .dll 文件的方法
2011/07/13 Javascript
jsvascript图像处理—(计算机视觉应用)图像金字塔
2013/01/15 Javascript
JS使用oumousemove和oumouseout动态改变图片显示的方法
2015/03/31 Javascript
js和jquery实现监听键盘事件示例代码
2020/06/24 Javascript
jquery div模态窗口的简单实例
2016/05/28 Javascript
Listloading.js移动端上拉下拉刷新组件
2016/08/04 Javascript
输入法的回车与消息发送快捷键回车的冲突解决方法
2016/08/09 Javascript
AngularJS监听路由变化的方法
2017/03/07 Javascript
JS实现运动缓冲效果的封装函数示例
2018/02/18 Javascript
基于vue cli 通过命令行传参实现多环境配置
2018/07/12 Javascript
JS如何获取地址栏的参数实例讲解
2018/10/06 Javascript
javascript获取select值的方法完整实例
2019/06/20 Javascript
解决layer.open弹出框不能获取input框的值为空的问题
2019/09/10 Javascript
通过实例了解JS 连续赋值
2019/09/24 Javascript
Vue+tracking.js 实现前端人脸检测功能
2020/04/16 Javascript
[06:53]DOTA2每周TOP10 精彩击杀集锦vol.3
2014/06/25 DOTA
学习python处理python编码问题
2011/03/13 Python
python实现查询苹果手机维修进度
2015/03/16 Python
使用Python的Twisted框架实现一个简单的服务器
2015/04/16 Python
Python编程pygame模块实现移动的小车示例代码
2018/01/03 Python
TensorFlow实现Softmax回归模型
2018/03/09 Python
python实现数据导出到excel的示例--普通格式
2018/05/03 Python
python3 实现的对象与json相互转换操作示例
2019/08/17 Python
python中的global关键字的使用方法
2019/08/20 Python
python实点云分割k-means(sklearn)详解
2020/05/28 Python
css3实例教程 一款纯css3实现的环形导航菜单
2014/10/20 HTML / CSS
不忘国耻振兴中华演讲稿
2014/05/14 职场文书
员工工作表扬信
2015/05/05 职场文书
考研英语辞职信
2015/05/13 职场文书
给numpy.array增加维度的超简单方法
2021/06/02 Python
python pygame 开发五子棋双人对弈
2022/05/02 Python