JavaScript中reduce()方法的使用詳解
JavaScript 數(shù)組reduce()方法同時應(yīng)用一個函數(shù)針對數(shù)組的兩個值(從左到右),以減至一個值。
語法
array.reduce(callback[, initialValue]);
下面是參數(shù)的詳細(xì)信息:
- callback : 函數(shù)執(zhí)行在數(shù)組中每個值
- initialValue : 對象作為第一個參數(shù)回調(diào)的第一次調(diào)用使用
返回值:
返回數(shù)組的減少單一個值
兼容性:
這種方法是一個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()方法詳解及高級技巧
- js數(shù)組方法reduce經(jīng)典用法代碼分享
- JS使用reduce()方法處理樹形結(jié)構(gòu)數(shù)據(jù)
- JavaScript中自帶的 reduce()方法使用示例詳解
- JavaScript中reduce()的5個基本用法示例
- JavaScript中reduce()詳解及使用方法
- JS數(shù)組方法reduce的妙用分享
- JavaScript中的reduce方法執(zhí)行過程、使用場景及進(jìn)階用法
相關(guān)文章
window.close(); 關(guān)閉瀏覽器窗口js代碼的總結(jié)介紹
下面小編就為大家?guī)硪黄獁indow.close(); 關(guān)閉瀏覽器窗口js代碼的總結(jié)介紹。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-07-07Javascript基礎(chǔ)知識(三)BOM,DOM總結(jié)
本文是基礎(chǔ)知識系列的第三篇文章,主要介紹javascript中BOM,DOM的一些心得總結(jié),非常實(shí)用,有需要的朋友可以參考下2014-09-09Javascript基礎(chǔ)教程之函數(shù)對象和屬性
這篇文章主要介紹了Javascript基礎(chǔ)教程之函數(shù)對象和屬性,需要的朋友可以參考下2015-01-01javascript中數(shù)組array及string的方法總結(jié)
本文結(jié)合自己的使用經(jīng)驗(yàn),給大家總結(jié)了javascript中數(shù)組array及string的使用方法,這里推薦給有需要的小伙伴。2014-11-11JavaScript 入門基礎(chǔ)知識 想學(xué)習(xí)js的朋友可以參考下
JavaScript 基礎(chǔ)知識 想學(xué)習(xí)js的朋友可以參考下2009-12-12js 實(shí)現(xiàn)復(fù)制到粘貼板的功能代碼
主要是用到了 window.clipboardData.setData("Text",copyText);2010-05-05