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(mén)教程》、《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. 理解PHP5中static和const關(guān)鍵字2. IntelliJ IDEA安裝插件的方法步驟3. php模擬實(shí)現(xiàn)斗地主發(fā)牌4. .Net Core使用Coravel實(shí)現(xiàn)任務(wù)調(diào)度的完整步驟5. Vue封裝一個(gè)TodoList的案例與瀏覽器本地緩存的應(yīng)用實(shí)現(xiàn)6. jQuery 實(shí)現(xiàn)DOM元素拖拽交換位置的實(shí)例代碼7. Vuex localStorage的具體使用8. vue 使用localstorage實(shí)現(xiàn)面包屑的操作9. spring acegi security 1.0.0 發(fā)布10. MyBatis中的JdbcType映射使用詳解

網(wǎng)公網(wǎng)安備