JS數(shù)組方法reduce的用法實(shí)例分析
本文實(shí)例講述了JS數(shù)組方法reduce的用法。分享給大家供大家參考,具體如下:
數(shù)組方法 reduce 用來(lái)迭代一個(gè)數(shù)組,并且把它累積到一個(gè)值中。
使用 reduce 方法時(shí),你要傳入一個(gè)回調(diào)函數(shù),這個(gè)回調(diào)函數(shù)的參數(shù)是一個(gè) 累加器 (比如例子中的 previousVal) 和當(dāng)前值 (currentVal)。
reduce 方法有一個(gè)可選的第二參數(shù),它可以被用來(lái)設(shè)置累加器的初始值。如果沒(méi)有在這定義初始值,那么初始值將變成數(shù)組中的第一項(xiàng),而 currentVal 將從數(shù)組的第二項(xiàng)開(kāi)始。
使用 reduce 方法來(lái)讓 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) {
//輸出的是第一項(xiàng)的值或上一次疊加的結(jié)果,正在被處理的元素,正在被處理的元素的索引值
console.log(prev, cur, index);
return prev + cur;
})
console.log(arr, sum); //輸入數(shù)組本身和最后的結(jié)果
</script>
</body>
</html>
控制臺(tái)輸出:
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 傳遞給函數(shù)的初始值
}
myFunction()//輸出24

感興趣的朋友可以使用在線HTML/CSS/JavaScript代碼運(yùn)行工具:http://tools.jb51.net/code/HtmlJsRun測(cè)試上述代碼運(yùn)行效果。
更多關(guān)于JavaScript相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《JavaScript數(shù)組操作技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》、《javascript面向?qū)ο笕腴T教程》、《JavaScript數(shù)學(xué)運(yùn)算用法總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》及《JavaScript錯(cuò)誤與調(diào)試技巧總結(jié)》
希望本文所述對(duì)大家JavaScript程序設(shè)計(jì)有所幫助。
相關(guān)文章
JS 新增Cookie 取cookie值 刪除cookie 舉例詳解
cookie很實(shí)用的一個(gè)功能,可以判斷某個(gè)狀態(tài),下面與大家分享下JS 如何新增Cookie 取cookie值 刪除cookie,感興趣的朋友可以參考下2014-10-10
js判斷某個(gè)字符出現(xiàn)的次數(shù)的簡(jiǎn)單實(shí)例
下面小編就為大家?guī)?lái)一篇js判斷某個(gè)字符出現(xiàn)的次數(shù)的簡(jiǎn)單實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-06-06
JavaScript中的字符串與數(shù)字轉(zhuǎn)換的示例
在JavaScript編程中,掌握字符串與數(shù)字的轉(zhuǎn)換技巧對(duì)處理用戶輸入、數(shù)據(jù)計(jì)算及格式化輸出至關(guān)重要,本文詳細(xì)介紹了多種轉(zhuǎn)換方法,下面就一起來(lái)介紹一下2024-09-09
uniapp?實(shí)現(xiàn)自定義縮略滾動(dòng)條效果
這篇文章主要介紹了uniapp?實(shí)現(xiàn)自定義縮略滾動(dòng)條,本文通過(guò)示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2024-08-08
javascript實(shí)現(xiàn)input file上傳圖片預(yù)覽效果
這篇文章主要介紹了javascript實(shí)現(xiàn)input file上傳圖片預(yù)覽效果,感興趣的小伙伴們可以參考一下2015-12-12
js中合并對(duì)象的幾種實(shí)現(xiàn)方法
"js 合并對(duì)象"是一種在JavaScript編程中常見(jiàn)的操作,用于將多個(gè)對(duì)象的屬性合并到一起,通常,我們會(huì)使用ES6的擴(kuò)展運(yùn)算符或者Object.assign()函數(shù)來(lái)實(shí)現(xiàn)這個(gè)功能,感興趣的可以了解一下2023-08-08
javascript游戲開(kāi)發(fā)之《三國(guó)志曹操傳》零部件開(kāi)發(fā)(五)可移動(dòng)地圖的實(shí)現(xiàn)
首先來(lái)說(shuō),我對(duì)游戲開(kāi)發(fā)可以算是不怎么深入,因?yàn)楝F(xiàn)在的程序員愛(ài)用canvas,我卻就只會(huì)拿幾個(gè)div湊和。不過(guò)沒(méi)關(guān)系,因?yàn)樽龀鰜?lái)的同樣是游戲。哈!廢話最近有點(diǎn)多,感興趣的朋友可以了解下2013-01-01
JavaScript模擬實(shí)現(xiàn)Promise功能的示例代碼
這篇文章主要為大家詳細(xì)介紹了JavaScript如何模擬實(shí)現(xiàn)Promise功能,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)JavaScript有一定的幫助,需要的可以參考一下2022-12-12
JavaScript版DateAdd和DateDiff函數(shù)代碼
VBScript中有兩個(gè)非常好用的日期操作函數(shù):DateAdd用來(lái)給日期添加指定時(shí)間間隔,DateDiff用來(lái)返回兩個(gè)日期的時(shí)間間隔??上У氖荍avaScript沒(méi)有,不過(guò)我們可以寫一個(gè)函數(shù)來(lái)實(shí)現(xiàn),一樣的,呵呵2012-03-03

