数组求和vue reduce(vue reduce函数的使用)

2025-11-02 23:30:02 :0

数组求和vue reduce(vue reduce函数的使用)

大家好,如果您还对数组求和vue reduce不太了解,没有关系,今天就由本站为大家分享数组求和vue reduce的知识,包括vue reduce函数的使用的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!

本文目录

vue reduce函数的使用

callback (执行数组中每个值的函数,包含四个参数)
initialValue (作为第一次调用 callback 的第一个参数。)

第一种写法

运行

①设置了初始值,所以pre初始为{}
②item为数组(即字符串)第一项 j
③pre在该元素第一次出现时记录为,1所以执行 ++,变为2;以此类推

第二种写法

vue js对象数组求和

let lists = [
{ year: "2021", name: "服务费", price:3000,
tablelist: [{
price:3000
}]
},
{ year: "2020", name: "服务费", price:6000,
tablelist: [{
price:3000
},{
price:2000
},{
price:1000
}]
},
]
const sum = (acc, cur) =》 acc + cur
for (let i = 0; i 《 lists.length; i++) {
const prices = lists.tablelist.map(item =》 item.price);
console.log(lists.price))
}

浅谈JS中 reduce() 的用法

过去有很长一段时间,我一直很难理解 reduce() 这个方法的具体用法,平时也很少用到它。事实上,如果你能真正了解它的话,其实在很多地方我们都可以用得上,那么今天我们就来简单聊聊JS中 reduce() 的用法。

其中,
arr 表示原数组;
prev 表示上一次调用回调时的返回值,或者初始值 init;
cur 表示当前正在处理的数组元素;
index 表示当前正在处理的数组元素的索引,若提供 init 值,则索引为0,否则索引为1;
init 表示初始值。

看上去是不是感觉很复杂?没关系,只是看起来而已,其实常用的参数只有两个: prev 和 cur 。接下来我们跟着实例来看看具体用法吧~

先提供一个原始数组:

实现以下需求的方式有很多,其中就包含使用reduce()的求解方式,也算是实现起来比较简洁的一种吧。

由于传入了初始值0,所以开始时prev的值为0,cur的值为数组第一项3,相加之后返回值为3作为下一轮回调的prev值,然后再继续与下一个数组项相加,以此类推,直至完成所有数组项的和并返回。

由于未传入初始值,所以开始时prev的值为数组第一项3,cur的值为数组第二项9,取两值最大值后继续进入下一轮回调。

实现的基本原理如下:

该方法用法与reduce()其实是相同的,只是遍历的顺序相反,它是从数组的最后一项开始,向前遍历到第一项。

详情请戳→ 简述forEach()、map()、every()、some()和filter()的用法

JS数组reduce()方法详解及高级技巧

reduce 为数组中的每一个元素依次执行回调函数,不包括数组中被删除或从未被赋值的元素,接受四个参数:初始值(或者上一次回调函数的返回值),当前元素值,当前索引,调用 reduce 的数组。

先看第一个例子:

这里可以看出,上面的例子index是从1开始的,第一次的prev的值是数组的第一个值。数组长度是4,但是reduce函数循环3次。

再看第二个例子:

这个例子index是从0开始的,第一次的prev的值是我们设置的初始值0,数组长度是4,reduce函数循环4次。

结论: 如果没有提供initialValue,reduce 会从索引1的地方开始执行 callback 方法,跳过第一个索引。如果提供initialValue,从索引0开始。

注意:如果这个数组为空,运用reduce是什么情况?

但是要是我们设置了初始值就不会报错,如下:

所以一般来说我们提供初始值通常更安全

当然最简单的就是我们常用的数组求和,求乘积了。

(1)计算数组中每个元素出现的次数

(2)数组去重

(3)将二维数组转化为一维

(3)将多维数组转化为一维

(4)、对象里的属性求和

分享JS数组求和与求最大值的方法

前言
面试遇到一个问题:JS数组求和函数。我第一想到的就是数组循环。然而我觉得面试官问这个问题一定不是想考这个人人皆知的方法。当时机智的我竟然想到了递归函数不断加和数组的项,然而折腾了好久都没调好方法,事实证明这并不是最优解。最后面试官问我有没有见过reduce(),真木有哇。所以回来查资料,Array.reduce()是ES5新增的新属性,相似的还有Array.reduceRight()。
下文来总结一下数组求和的方法。
最粗暴的方法:循环获取
通过for循环一项项地加和。看代码:
Array.prototype.sum
=
function
(){
var
result
=
0;
for(var
i
=
0;
i
《
this.length;
i++)
{
result
+=
this;
}
return
result;
};
.sum();
//
24
使用reduce方法
利用reduce方法,可以写一个数组求和的sum方法。
reduce()方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终为一个值。
reduce的语法:
array.reduce(callback[,
initialValue]);
callback函数接受4个参数:previousValue(上次调用回调返回的值)、currentValue(当前被处理的元素)、index(索引)以及数组本身(第一次调用
callback的第一个参数),执行数组中每个值的函数。
initialValue参数可选,表示初始值;initialValue参数若指定,则当作最初使用的previous值,如果缺省,则使用数组的第一个元素作为previous初始值,同时current往后排一位。
Array.prototype.sum
=
function
(){
return
this.reduce(function
(partial,
value){
return
partial
+
value;
})
};
.sum();
//
24
相比第一种方法,使用reduce()方法的效率更高。
这两种方法的效率比较可以直接在函数运行前后分别调用new
Date()获取即时时间,从而通过时间差比较执行时间。这里就不比较了,因为每个人的执行环境差异较大。测试结果是reduce()方法的执行时间更短。
JS数组求和函数,并求出数组中的最大值
实例代码
《!DOCTYPE
html
PUBLIC
"-//W3C//DTD
XHTML
1.0
Transitional//EN"
***隐藏网址***
《html
***隐藏网址***
《head》
《meta
***隐藏网址***
content="text/html;
charset=gb2312"
/》
《title》脚本之家_js数组求和和最大值方法_脚本之家网《/title》
《meta
name="keywords"
content="站长,网页特效,网页特效代码,js特效,js脚本,脚本,广告代码,jb51.net,www.jb51.net,脚本之家网"
/》
《meta
name="description"
content="www.jb51.net,脚本之家网,站长必备js特效及广告代码。大量高质量js特效,提供高质量广告代码下载,尽在脚本之家网"
/》
《/head》
《body》
《a
***隐藏网址***
《script
type="text/javascript"》
//求和
Array.prototype.sum
=
function
()
{
for
(var
sum
=
i
=
0;
i
《
this.length;
i++)sum
+=
parseInt(this);
return
sum
;
};
//求最大值
Array.prototype.maxima
=
function
()
{
for
(var
i
=
0,
maxValue
=
Number.MIN_VALUE;
i
《
this.length;
i++)parseInt(this)
》
maxValue
&&
(maxValue
=
this);
return
maxValue;
};
//应用
var
arr
=
;
alert(arr.join("+")
+
"="
+
arr.sum());
alert(arr.join("|")
+
"中,
最大的数是:"
+
arr.maxima());
《/script》
《/body》
《/html》
以上就是本文的全部内容,希望对大家使用JavaScript有所帮助哦,如果有疑问的话欢迎留言讨论,小编会及时回复大家的。

文章分享结束,数组求和vue reduce和vue reduce函数的使用的答案你都知道了吗?欢迎再次光临本站哦!

数组求和vue reduce(vue reduce函数的使用)

本文编辑:admin

更多文章:


dul是什么意思(nsk轴承dul和sul的区别)

dul是什么意思(nsk轴承dul和sul的区别)

其实dul是什么意思的问题并不复杂,但是又很多的朋友都不太了解nsk轴承dul和sul的区别,因此呢,今天小编就来为大家分享dul是什么意思的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!本文目录nsk轴承dul和sul

2026年5月15日 15:30

中国移动个人主页(中国移动我的页面在哪打开)

中国移动个人主页(中国移动我的页面在哪打开)

本篇文章给大家谈谈中国移动个人主页,以及中国移动我的页面在哪打开对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。本文目录中国移动我的页面在哪打开中国

2026年1月3日 16:15

grocery联想记忆(grocery怎么拆分记忆)

grocery联想记忆(grocery怎么拆分记忆)

本篇文章给大家谈谈grocery联想记忆,以及grocery怎么拆分记忆对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。本文目录grocery怎么拆

2025年8月26日 06:00

gridview排序功能属性(怎么把datagridview中的自动排序功能禁用)

gridview排序功能属性(怎么把datagridview中的自动排序功能禁用)

大家好,如果您还对gridview排序功能属性不太了解,没有关系,今天就由本站为大家分享gridview排序功能属性的知识,包括怎么把datagridview中的自动排序功能禁用的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始

2025年6月15日 08:45

易语言主程序和dll通讯(C+的dll如何用易语言正确调用)

易语言主程序和dll通讯(C+的dll如何用易语言正确调用)

今天给各位分享C+的dll如何用易语言正确调用的知识,其中也会对C+的dll如何用易语言正确调用进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录C+的dll如何用易语言正确调用易语言如何调用dll文件易语言如何

2026年4月8日 14:30

strut是什么车(这是什么品牌的车标)

strut是什么车(这是什么品牌的车标)

大家好,strut是什么车相信很多的网友都不是很明白,包括这是什么品牌的车标也是一样,不过没有关系,接下来就来为大家分享关于strut是什么车和这是什么品牌的车标的一些知识点,大家可以关注收藏,免得下次来找不到哦,下面我们开始吧!本文目录这

2026年8月3日 11:15

前端如何判断(如何判断一个前端人员的逻辑性)

前端如何判断(如何判断一个前端人员的逻辑性)

今天给各位分享如何判断一个前端人员的逻辑性的知识,其中也会对如何判断一个前端人员的逻辑性进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录如何判断一个前端人员的逻辑性前端如何判断当天是否签到怎样快速判断一个前端工

2026年9月24日 21:30

怎么制作网站ping工具(ping是什么 如何ping一个站点)

怎么制作网站ping工具(ping是什么 如何ping一个站点)

大家好,如果您还对怎么制作网站ping工具不太了解,没有关系,今天就由本站为大家分享怎么制作网站ping工具的知识,包括ping是什么 如何ping一个站点的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!本文目录ping是

2026年4月7日 09:15

前端样式网站(前端开发应该知道的几个CSS网页表单布局技巧)

前端样式网站(前端开发应该知道的几个CSS网页表单布局技巧)

今天给各位分享前端开发应该知道的几个CSS网页表单布局技巧的知识,其中也会对前端开发应该知道的几个CSS网页表单布局技巧进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录前端开发应该知道的几个CSS网页表单布局技

2026年2月10日 21:15

网址的url(网站URL:是什么)

网址的url(网站URL:是什么)

大家好,关于网址的url很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于网站URL:是什么的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!本文目录网站URL:是

2026年4月24日 04:30

flash模板照片幻灯片放映按钮代码解释?如何使用C#操作幻灯片

flash模板照片幻灯片放映按钮代码解释?如何使用C#操作幻灯片

大家好,如果您还对幻灯片代码不太了解,没有关系,今天就由本站为大家分享幻灯片代码的知识,包括flash模板照片幻灯片放映按钮代码解释的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!本文目录flash模板照片幻灯片放映按钮代

2025年7月24日 18:45

alarm和clock的区别(clock是什么意思英语)

alarm和clock的区别(clock是什么意思英语)

其实alarm和clock的区别的问题并不复杂,但是又很多的朋友都不太了解clock是什么意思英语,因此呢,今天小编就来为大家分享alarm和clock的区别的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!本文目录clo

2025年10月20日 22:00

delphi bit定义(delphi中如何定义TBitmap类型的变量)

delphi bit定义(delphi中如何定义TBitmap类型的变量)

各位老铁们,大家好,今天由我来为大家分享delphi bit定义,以及delphi中如何定义TBitmap类型的变量的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们

2025年11月14日 19:00

bankstatement中文(bank statement是什么意思)

bankstatement中文(bank statement是什么意思)

“bankstatement中文”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看bankstatement中文(bank statement是什么意思)!本文目录bank statement是什么意思签证所需要的bank s

2026年4月5日 01:45

linux如何编程(linux编程开发如何实现对智能手机的开发)

linux如何编程(linux编程开发如何实现对智能手机的开发)

“linux如何编程”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看linux如何编程(linux编程开发如何实现对智能手机的开发)!本文目录linux编程开发如何实现对智能手机的开发如何通过mac os系统学习linux系

2025年12月23日 13:00

compareto方法实现(java中compareto实现学生成绩排列)

compareto方法实现(java中compareto实现学生成绩排列)

大家好,今天小编来为大家解答以下的问题,关于compareto方法实现,java中compareto实现学生成绩排列这个很多人还不知道,现在让我们一起来看看吧!本文目录java中compareto实现学生成绩排列代码中是怎么调用compar

2026年4月28日 01:00

filterout(filter怎么记忆)

filterout(filter怎么记忆)

其实filterout的问题并不复杂,但是又很多的朋友都不太了解filter怎么记忆,因此呢,今天小编就来为大家分享filterout的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!本文目录filter怎么记忆filte

2026年3月30日 06:00

lodop插件怎么下载(clodop下载失败怎么回事)

lodop插件怎么下载(clodop下载失败怎么回事)

各位老铁们,大家好,今天由我来为大家分享lodop插件怎么下载,以及clodop下载失败怎么回事的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!本文目录cl

2026年3月11日 18:00

pgc中国参赛队伍(pnc全明星赛赛程)

pgc中国参赛队伍(pnc全明星赛赛程)

其实pgc中国参赛队伍的问题并不复杂,但是又很多的朋友都不太了解pnc全明星赛赛程,因此呢,今天小编就来为大家分享pgc中国参赛队伍的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!本文目录pnc全明星赛赛程PGC第三周周

2026年2月17日 03:45

win8如何重装系统(怎么重新安装win8系统|win8如何重新安装系统)

win8如何重装系统(怎么重新安装win8系统|win8如何重新安装系统)

大家好,win8如何重装系统相信很多的网友都不是很明白,包括怎么重新安装win8系统|win8如何重新安装系统也是一样,不过没有关系,接下来就来为大家分享关于win8如何重装系统和怎么重新安装win8系统|win8如何重新安装系统的一些知识

2026年5月29日 06:45

近期文章

本站热文

electronics软件(labcenter electronics是什么软件)
2025-05-22 23:45:02 浏览:134
博客是微博吗(博客是微博吗)
2025-05-22 22:45:01 浏览:111
diversity and distribution(悬赏英语短文)
2025-05-23 16:15:02 浏览:107
ios软件开发前景(iOS就业前景怎么样)
2025-05-22 23:00:01 浏览:102
next month(有The next month这个单词吗,和 next month有什么区别)
2025-05-23 02:30:01 浏览:102
patron(patron是什么意思)
2025-05-23 10:30:02 浏览:95
标签列表

热门搜索