1. 程式人生 > 程式設計 >JS陣列方法reduce的用法例項分析

JS陣列方法reduce的用法例項分析

本文例項講述了JS陣列方法reduce的用法。分享給大家供大家參考,具體如下:

陣列方法 reduce 用來迭代一個數組,並且把它累積到一個值中。

使用 reduce 方法時,你要傳入一個回撥函式,這個回撥函式的引數是一個 累加器 (比如例子中的 previousVal) 和當前值 (currentVal)。

reduce 方法有一個可選的第二引數,它可以被用來設定累加器的初始值。如果沒有在這定義初始值,那麼初始值將變成陣列中的第一項,而 currentVal 將從陣列的第二項開始。

使用 reduce 方法來讓 array 中的所有值相加

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>reduce的使用</title>
</head>
<body>
<script>
var arr = [1,2,3,4,5];
sum = arr.reduce(function(prev,cur,index,arr) {
   //輸出的是第一項的值或上一次疊加的結果,正在被處理的元素,正在被處理的元素的索引值
   console.log(prev,index); 
   return prev + cur;
})
console.log(arr,sum); //輸入陣列本身和最後的結果
</script>
</body>
</html>

控制檯輸出:

JS陣列方法reduce的用法例項分析

var numbers = [15.5,2.3,1.1,4.7];
 
function getSum(total,num) {
  return total + Math.round(num);
}
function myFunction(item) {
  console.log(numbers.reduce(getSum,0));//0 傳遞給函式的初始值
}
myFunction()//輸出24

JS陣列方法reduce的用法例項分析

感興趣的朋友可以使用線上HTML/CSS/JavaScript程式碼執行工具:http://tools.jb51.net/code/HtmlJsRun測試上述程式碼執行效果。

更多關於JavaScript相關內容感興趣的讀者可檢視本站專題:《JavaScript陣列操作技巧總結》、《JavaScript遍歷演算法與技巧總結》、《javascript面向物件入門教程》、《JavaScript數學運算用法總結》、《JavaScript資料結構與演算法技巧總結》及《JavaScript錯誤與除錯技巧總結》

希望本文所述對大家JavaScript程式設計有所幫助。