JavaScript數(shù)組的reduce()方法用于將數(shù)組縮減為單個(gè)值,并為數(shù)組的每個(gè)值執(zhí)行提供的函數(shù)(從左到右),函數(shù)的返回值存儲(chǔ)在累加器中。

原文地址:JavaScript數(shù)組的reduce()方法怎么用?
array.reduce()方法
reduce() 方法接收一個(gè)函數(shù)作為累加器,數(shù)組中的每個(gè)值(從左到右)開(kāi)始縮減,最終計(jì)算為一個(gè)值。
注:reduce()方法對(duì)于空數(shù)組是不會(huì)執(zhí)行回調(diào)函數(shù)的。
語(yǔ)法:
array.reduce( function(total, currentValue, currentIndex, arr), initialValue )
參數(shù):此方法接受上述兩個(gè)參數(shù)
● function(total,currentValue,index,arr):它是必需的參數(shù),用于為數(shù)組的每個(gè)元素運(yùn)行。它包含四個(gè)參數(shù),如下所示:
● total:它是必需參數(shù),用于指定initialValue或先前返回的函數(shù)值。
● currentValue:它是必需參數(shù),用于指定當(dāng)前元素的值。
● currentIndex:它是可選參數(shù),用于指定當(dāng)前元素的數(shù)組索引。
● arr:它是可選參數(shù),用于指定當(dāng)前元素所屬的數(shù)組對(duì)象。
● initialValue:它是可選參數(shù),用于指定要作為初始值傳遞給函數(shù)的值。
示例1:使用reduce()方法返回所有數(shù)組元素的總和
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
</head>
<body style="text-align:center;">
<h3 id="array"></h3>
<p>單擊,獲取數(shù)組元素的總和</p>
<button onclick="myDemo()"> 點(diǎn)擊這里! </button>
<br><br> 數(shù)組元素之和為: <span id="sum"></span>
<!-- Script to use reduce method -->
<script>
var arr = [10, 20, 30, 40, 50, 60];
document.getElementById("array").innerHTML = "數(shù)組元素:" + arr;
function sumofArray(sum, num) {
return sum + num;
}
function myDemo(item) {
document.getElementById("sum").innerHTML = arr.reduce(sumofArray);
}
</script>
</body>
</html>
效果圖:

示例2:使用reduce()方法返回所有數(shù)組元素的整數(shù)和(舍入值)
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
</head>
<body style="text-align:center;">
<h3 id="array"></h3>
<p>單擊,獲取數(shù)組元素的整數(shù)和</p>
<button onclick="myDemo()"> 點(diǎn)擊這里! </button>
<br><br> 數(shù)組元素的整數(shù)和為: <span id="sum"></span>
<!-- Script to use reduce method -->
<script>
var arr = [1.5, 20.3, 11.1, 40.7];
document.getElementById("array").innerHTML = "數(shù)組元素:" + arr;
function sumofArray(sum, num) {
return sum + Math.round(num);
}
function myDemo(item) {
document.getElementById("sum").innerHTML = arr.reduce(sumofArray,0);
}
</script>
</body>
</html>
效果圖:

推薦閱讀: