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

