位置: 编程技术 - 正文

JavaScript学习笔记之数组求和方法(javascript总结笔记)

编辑:rootadmin

推荐整理分享JavaScript学习笔记之数组求和方法(javascript总结笔记),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:javascript总结笔记,javascript教程推荐知乎,javascript学习指南,javascript怎么学,javascript学习指南,javascript入门教程,javascript基础笔记,javascript基础笔记,内容如对您有帮助,希望把文章链接给更多的朋友!

推荐阅读:JavaScript学习笔记之数组的增、删、改、查

通过最近学习,越来越感觉JavaScript的强大与魅力之处,仅数组一个知识点就让我这样的初学者折腾了很久。折腾是折腾,但还是很有效果的,这几天的学习到的一些基本知识,就在自己的业务就用到了。顿感自信心爆棚,我也有一天能学会JavaScript。

别的不多说了,咱们今天一起来玩数组的求和,看看有哪些方法可以实现数组的求和。

数组方法

JavaScript中数组有很多种方法,下图能更好的向你阐述JavaScript有多少种方法,作用是啥:

简单点回顾一下前面学习的知识:

push():向数组末尾添加一个或多个元素

unshift(): 向数组的开头添加一个或多个元素

pop(): 删除数组最后一个元素

shift(): 删除数组第一个元素

sort(): 给数组排序

reverse(): 颠倒数组项在数组中的位置

concat(): 合并数组

slice(): 指定的位置开始删除指定的数组项,并且将删除的数组项构建成一个新数组

splice(): 对一个数组做删除、插入和替换

indexOf(): 从前向后查找元素在数组中位置

lastIndexOf(): 从后向前查找元素在数组中位置

forEach()、every()、some()、filter()和map():数组迭代

reduce(): 数组中的每个值(从左到右)开始合并,最终为一个值

reduceRight(): 数组中的每个值(从右到左)开始合并,最终为一个值

JavaScript学习笔记之数组求和方法(javascript总结笔记)

数组求和

今天的用例,假设我们有一个这样的数组:

需要将数组中的项值加起来0+1+2+3+4+5+6+7+8+9。我们应该怎么做,或者有哪些方法可以实现。简单的讲,就是想办法让数组项一个一个加起来。那是不是就要用到数组的迭代呢?是不是也可以借助这些方法实现数组的求和呢?

for循环和while循环

首先想到的就是这两种循环方法,这在上一节也尝试过了。再次??乱幌拢?/p>

再来换个while看看:

除了古老的for和while循环之外,在ES5中还新增加了其他的数组迭代方法,比如forEach()、every()、some()、filter()和map()等。而且这些方法都可以让数组中的每一个元素执行一次回调函数。如果一来,只需要对这个回调函数做一个数组项的累加功能:

forEach()方法

forEach()方法让数组每一项执行给定的回调函数callbackfn。这样,我们可以在回调函数getSum做一个累加计算。

some()方法

map()方法

filter()方法

every()方法

every()方法和前面几种方法略有不同,因为every()方法只有数组中每一项执行回调函数结果合部为true才会返回,不然就会返回false。因为在前面的回调函数中,需要增加return true;

reduce()和reduceRight()方法

reduce()和reduceRight()方法可以接受一个回调函数callbackfn作为累加器(accumulator),数组中的每个值(从左到右)开始合并,最终为一个值。这样也能让数组每个元素累加起来,达到数组求和的功能。

先创建一个累加器的回调函数:

同样以前面的数组为例:

前面测试,reduce()方法所费时间最短,本篇在测试似乎所费时间最长,不知道在哪出错了,还望有大神能指导迷津。reduceRight()方法和reduce()方法一样,只是他从数组的右边向左边累加。

总结

一个一个操作下来,数组的求和基本上通过数组遍历来实现,那么掌握了数组中各种遍历的方法,就能轻松的实现数组的求和。虽然这些遍历的方法能让实现数组的求和,但是不同的方法对性能有所不同。文章中的示例可能无法完全阐述他们性能方面的对比,如果您有更好的建议欢迎分享。

以上内容是针对JavaScript学习笔记之数组求和方法的全部介绍,希望对大家有所帮助!

JavaScript学习笔记之数组随机排序 推荐阅读:JavaScript学习笔记之数组求和方法JavaScript学习笔记之数组的增、删、改、查JavaScript中提供了sort()和reverse()方法对数组项重新排序。但很多时

JavaScript学习笔记之数组去重 推荐阅读:JavaScript学习笔记之数组的增、删、改、查JavaScript学习笔记之数组求和方法JavaScript学习笔记之数组随机排序话说面试常会碰到面试官会问JavaS

JavaScript学习笔记之取数组中最大值和最小值 推荐阅读:JavaScript学习笔记之数组的增、删、改、查JavaScript学习笔记之数组求和方法JavaScript学习笔记之数组随机排序在实际业务中有的时候要取出数

标签: javascript总结笔记

本文链接地址:https://www.jiuchutong.com/biancheng/375936.html 转载请保留说明!

上一篇:JavaScript学习笔记之数组的增、删、改、查(javascript教程完整版)

下一篇:JavaScript学习笔记之数组随机排序(javascript教程完整版)

  • 放弃退税理由是什么
  • 减免税款递延收入怎么算
  • 预缴税款可以抵税吗
  • 公司支付宝账户要交税吗
  • 一般纳税人简易计税可以抵扣进项税额吗
  • 企业的两金是哪两金
  • 增值税即征即退政策
  • 成品盘盈盘亏的会计分录
  • 员工异地缴纳社保协议
  • 个人承包业务是否合法
  • 17%增值税发票怎么计算成13%
  • 企业出售产品
  • 调解书和判决书执行力度一样吗
  • 契税和车辆购置税的异同
  • 增值税专用发票抵扣期限
  • 增值税计税依据包含消费税吗
  • 增值税发票过期了税金怎么办
  • 年薪12万如何申报个人所得税
  • 银票和承兑的区别
  • 生产性生物资产包括哪些
  • 季度收入超过30万但开票只有10万
  • 月销售额未超过10万的免征税怎么算
  • 商场赠送购物券是真的吗
  • windows 11密钥
  • 材料采购的合同价款
  • 结转采购材料的实际成本会计分录怎么写
  • 王者荣耀电脑版怎么键盘操作
  • wordpress优化加快的好多个关键点
  • 喝薏米红豆水最佳时间
  • zend framework手册
  • 银行存款日记账可以采用
  • 购买财务软件报什么科目
  • 一般纳税人能开1%的发票吗
  • php引用返回用法怎么用
  • 金蝶利息收入结转怎么弄
  • yii框架搭建
  • 使用php免费发送短信
  • 售后租回交易形成融资租赁,销售时不确认处置损益
  • 应付账款盘点表
  • 增值税专用发票和普通发票的区别
  • 自建厂房流程
  • 如何填写个人所得税申报表
  • 信托保障基金怎么赎回
  • 什么情况下开劳务费发票
  • 所得税预缴申报表
  • 表单上传文件
  • 什么企业不用交残保金
  • 加计抵减进项税额怎么计算
  • Access数据库文件以什么作为文件后缀名
  • 应交税费应交增值税销项税额
  • 建筑公司预收工程款
  • 固定资产到期后继续使用
  • 行政单位汽车加油无明细怎么办
  • 以前年度少计费用,调整分录
  • 从公账提取备用金到个人账户怎么做会计分录
  • 增值税进项税加计抵减
  • 记账凭证先写借方还是贷方
  • 无形资产计提折旧可以转回吗
  • mysql免安装版下载
  • 如何删除windowsedb
  • vmware安装macos10.15
  • 笔记本隐藏功能
  • win7 txt文件属性更改
  • mac休眠怎么设置
  • centos 删除恢复
  • linux命令行在哪
  • w10系统有什么好处
  • linux unix操作系统
  • win7系统电脑卡住了怎么办
  • linux配置命令
  • ES6中javascript实现函数绑定及类的事件绑定功能详解
  • css对象
  • unity游戏之羊刀与Pendragon复盘:DotA做对了什么
  • javascript弹窗函数
  • cmd读取d盘
  • java多线程产生死锁
  • python获取entry里输入的值
  • jQuery Ajax Post 回调函数不执行问题的解决方法
  • 专家咨询费包括哪些内容
  • 出口突尼斯提供哪些清关单据
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设