JavaScript中reduce()方法的使用詳解
JavaScript 數(shù)組reduce()方法同時(shí)應(yīng)用一個(gè)函數(shù)針對(duì)數(shù)組的兩個(gè)值(從左到右),以減至一個(gè)值。
語(yǔ)法
array.reduce(callback[, initialValue]);
下面是參數(shù)的詳細(xì)信息:
- callback : 函數(shù)執(zhí)行在數(shù)組中每個(gè)值
- initialValue : 對(duì)象作為第一個(gè)參數(shù)回調(diào)的第一次調(diào)用使用
返回值:
返回?cái)?shù)組的減少單一個(gè)值
兼容性:
這種方法是一個(gè)JavaScript擴(kuò)展到ECMA-262標(biāo)準(zhǔn); 因此它可能不存在在標(biāo)準(zhǔn)的其他實(shí)現(xiàn)。為了使它工作,你需要添加下面的腳本代碼的頂部:
if (!Array.prototype.reduce) { Array.prototype.reduce = function(fun /*, initial*/) { var len = this.length; if (typeof fun != "function") throw new TypeError(); // no value to return if no initial value and an empty array if (len == 0 && arguments.length == 1) throw new TypeError(); var i = 0; if (arguments.length >= 2) { var rv = arguments[1]; } else { do { if (i in this) { rv = this[i++]; break; } // if array contains no values, no initial value to return if (++i >= len) throw new TypeError(); } while (true); } for (; i < len; i++) { if (i in this) rv = fun.call(null, rv, this[i], i, this); } return rv; }; }
例子:
<html> <head> <title>JavaScript Array reduce Method</title> </head> <body> <script type="text/javascript"> if (!Array.prototype.reduce) { Array.prototype.reduce = function(fun /*, initial*/) { var len = this.length; if (typeof fun != "function") throw new TypeError(); // no value to return if no initial value and an empty array if (len == 0 && arguments.length == 1) throw new TypeError(); var i = 0; if (arguments.length >= 2) { var rv = arguments[1]; } else { do { if (i in this) { rv = this[i++]; break; } // if array contains no values, no initial value to return if (++i >= len) throw new TypeError(); } while (true); } for (; i < len; i++) { if (i in this) rv = fun.call(null, rv, this[i], i, this); } return rv; }; } var total = [0, 1, 2, 3].reduce(function(a, b){ return a + b; }); document.write("total is : " + total ); </script> </body> </html>
這將產(chǎn)生以下結(jié)果:
total is : 6
- js中的reduce()函數(shù)講解
- 詳解JavaScript中數(shù)組的reduce方法
- 詳解JS數(shù)組Reduce()方法詳解及高級(jí)技巧
- js數(shù)組方法reduce經(jīng)典用法代碼分享
- JS使用reduce()方法處理樹(shù)形結(jié)構(gòu)數(shù)據(jù)
- JavaScript中自帶的 reduce()方法使用示例詳解
- JavaScript中reduce()的5個(gè)基本用法示例
- JavaScript中reduce()詳解及使用方法
- JS數(shù)組方法reduce的妙用分享
- JavaScript中的reduce方法執(zhí)行過(guò)程、使用場(chǎng)景及進(jìn)階用法
相關(guān)文章
window.close(); 關(guān)閉瀏覽器窗口js代碼的總結(jié)介紹
下面小編就為大家?guī)?lái)一篇window.close(); 關(guān)閉瀏覽器窗口js代碼的總結(jié)介紹。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-07-07Javascript基礎(chǔ)知識(shí)(三)BOM,DOM總結(jié)
本文是基礎(chǔ)知識(shí)系列的第三篇文章,主要介紹javascript中BOM,DOM的一些心得總結(jié),非常實(shí)用,有需要的朋友可以參考下2014-09-09Javascript基礎(chǔ)教程之函數(shù)對(duì)象和屬性
這篇文章主要介紹了Javascript基礎(chǔ)教程之函數(shù)對(duì)象和屬性,需要的朋友可以參考下2015-01-01javascript中數(shù)組array及string的方法總結(jié)
本文結(jié)合自己的使用經(jīng)驗(yàn),給大家總結(jié)了javascript中數(shù)組array及string的使用方法,這里推薦給有需要的小伙伴。2014-11-11JavaScript 入門基礎(chǔ)知識(shí) 想學(xué)習(xí)js的朋友可以參考下
JavaScript 基礎(chǔ)知識(shí) 想學(xué)習(xí)js的朋友可以參考下2009-12-12js 實(shí)現(xiàn)復(fù)制到粘貼板的功能代碼
主要是用到了 window.clipboardData.setData("Text",copyText);2010-05-05