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è)置累加器的初始值。如果沒有在這定義初始值,那么初始值將變成數(shù)組中的第一項(xiàng),而 currentVal 將從數(shù)組的第二項(xiàng)開始。
使用 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)文章:
1. 一個(gè) 2 年 Android 開發(fā)者的 18 條忠告2. Vue實(shí)現(xiàn)仿iPhone懸浮球的示例代碼3. js select支持手動(dòng)輸入功能實(shí)現(xiàn)代碼4. vue-drag-chart 拖動(dòng)/縮放圖表組件的實(shí)例代碼5. 什么是Python變量作用域6. Spring的異常重試框架Spring Retry簡(jiǎn)單配置操作7. Android 實(shí)現(xiàn)徹底退出自己APP 并殺掉所有相關(guān)的進(jìn)程8. PHP正則表達(dá)式函數(shù)preg_replace用法實(shí)例分析9. Android studio 解決logcat無(wú)過濾工具欄的操作10. vue使用moment如何將時(shí)間戳轉(zhuǎn)為標(biāo)準(zhǔn)日期時(shí)間格式
