js数组reduce方法(分享JS数组求和与求最大值的方法)
本文目录
分享JS数组求和与求最大值的方法
前言面试遇到一个问题:JS数组求和函数。我第一想到的就是数组循环。然而我觉得面试官问这个问题一定不是想考这个人人皆知的方法。当时机智的我竟然想到了递归函数不断加和数组的项,然而折腾了好久都没调好方法,事实证明这并不是最优解。最后面试官问我有没有见过reduce(),真木有哇。所以回来查资料,Array.reduce()是ES5新增的新属性,相似的还有Array.reduceRight()。下文来总结一下数组求和的方法。最粗暴的方法:循环获取通过for循环一项项地加和。看代码:Array.prototype.sum=function(){varresult=0;for(vari=0;i《this.length;i++){result+=this.sum();//24相比第一种方法,使用reduce()方法的效率更高。这两种方法的效率比较可以直接在函数运行前后分别调用newDate()获取即时时间,从而通过时间差比较执行时间。这里就不比较了,因为每个人的执行环境差异较大。测试结果是reduce()方法的执行时间更短。JS数组求和函数,并求出数组中的最大值实例代码《!DOCTYPEhtmlPUBLIC“-//W3C//DTDXHTML1.0Transitional//EN““
js中的 map,foreach,reduce 之间有什么区别么
forEach: 对数组中每一个元素都运行函数,该方法没有返回值。如果你想对数据里的每一个元素进行处理,可以采用forEach来替换 for循环
map:对数组中每一个元素都运行函数, 返回由每次函数执行的结果组成的数组。果你想对数据里的每一个元素进行处理,可以采用forEach来替换 for循环,和forEach不同的是,它最终会返回一个新的数组,数组的元素是每次处理先前数组中元素返回的结果
reduce: 对数组中的所有元素调用指定的回调函数。 该回调函数的返回值为累积结果,并且此返回值在下一次调用该回调函数时作为参数提供。
还是看例子来理解吧:
var arr3 = ;// 数组中每个元素都要翻10倍 var arr4 = arr3.map(function(ele,index,arr2) { return ele*10; }); console.log(arr4.toString()); //10,20,90,50,40 arr3.forEach(function(ele,index,arr){ console.log(“模拟插入元素到数据库:“+ele); });打印结果: 模拟插入元素到数据库:1 模拟插入元素到数据库:2模拟插入元素到数据库:9 模拟插入元素到数据库:5模拟插入元素到数据库:4reduce的测试例子:
// Define the callback function.function appendCurrent (previousValue, currentValue) { return previousValue + “::“ + currentValue; } // Create an array.var elements = ; // Call the reduce method, which calls the callback function// for each array element.var result = elements.reduce(appendCurrent); document.write(result); // Output:// abc::def::123::456更多文章:

the British Isles是什么意思?Isle怎么读
2025年3月29日 01:40

cause怎么读(cuz跟because , cause有什么区别呢)
2025年4月13日 11:10

fckeditor漏洞(如何根除FckEditor漏洞上传1.asp;1.jpg木马)
2025年3月6日 12:00

position属性常用属性值(position值都有哪些)
2025年3月10日 10:30

control游戏(如何评价2019年科幻游戏《Control》)
2025年3月8日 02:30

adjustable是什么意思(行间距adjustable什么意思)
2025年3月10日 17:10

checkbox选中和不选中的值(关于checkbox不选中时的默认值)
2025年2月10日 02:40

nuisance词根(你好!我周末即将考四级,现在很想看看一些考试心得与高频词汇的见解)
2025年3月20日 22:40

fulfill什么意思(accomplish 和fulfill 的区别)
2025年3月31日 17:10

frameset rows什么意思(在html中,为什么黑色字体这里有了rows,还能有cols还有带一个星号是什么意思€)
2025年3月25日 01:20

asp session 时间(ASP网站中,session变量的有默认有效时间是20分钟吗怎么定义有效时间)
2025年3月27日 13:40