JS數(shù)組方法reduce的用法實(shí)例分析
本文實(shí)例講述了JS數(shù)組方法reduce的用法。分享給大家供大家參考,具體如下:
數(shù)組方法 reduce 用來迭代一個(gè)數(shù)組,并且把它累積到一個(gè)值中。
使用 reduce 方法時(shí),你要傳入一個(gè)回調(diào)函數(shù),這個(gè)回調(diào)函數(shù)的參數(shù)是一個(gè) 累加器 (比如例子中的 previousVal) 和當(dāng)前值 (currentVal)。
reduce 方法有一個(gè)可選的第二參數(shù),它可以被用來設(shè)置累加器的初始值。如果沒有在這定義初始值,那么初始值將變成數(shù)組中的第一項(xiàng),而 currentVal 將從數(shù)組的第二項(xiàng)開始。
使用 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) { //輸出的是第一項(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)文章
for循環(huán) + setTimeout 結(jié)合一些示例(前端面試題)
最近在學(xué)習(xí)node.js開發(fā)資料,正好碰到了for循環(huán)+settimeout的經(jīng)典例子,下面小編給大家分享for循環(huán) + setTimeout 結(jié)合一些示例代碼,需要的朋友參考下吧2017-08-08js數(shù)組實(shí)現(xiàn)權(quán)重概率分配
今天寫了一個(gè)js控制頁(yè)面輪播的功能,如果僅僅使用隊(duì)列很簡(jiǎn)單,但是考慮到為每一個(gè)頁(yè)面分配權(quán)重的是否變的異常復(fù)雜,使用switch和if else也無(wú)法解決,于是想到使用js數(shù)組實(shí)現(xiàn)2017-09-09JavaScript學(xué)習(xí)筆記之獲取當(dāng)前目錄的實(shí)現(xiàn)代碼
用來獲取當(dāng)前目錄的js代碼,需要的朋友可以參考下,主要利用了split函數(shù)。2010-12-12Javascript實(shí)現(xiàn)圖片加載從模糊到清晰顯示的方法
這篇文章主要介紹了使用Javascript實(shí)現(xiàn)圖片加載從模糊到清晰顯示的方法,通俗易懂,需要的朋友可以參考下。2016-06-06JS實(shí)現(xiàn)table表格固定表頭且表頭隨橫向滾動(dòng)而滾動(dòng)
這篇文章主要介紹了JS實(shí)現(xiàn)table表格固定表頭且表頭可以隨橫向滾動(dòng)而滾動(dòng),需要的朋友可以參考下2017-10-10JS實(shí)現(xiàn)的楊輝三角【帕斯卡三角形】算法示例
這篇文章主要介紹了JS實(shí)現(xiàn)的楊輝三角【帕斯卡三角形】算法,結(jié)合實(shí)例形式分析了楊輝三角的原理及javascript實(shí)現(xiàn)楊輝三角的相關(guān)操作技巧,需要的朋友可以參考下2019-02-02Electron去掉窗口邊框并添加關(guān)閉按鈕的實(shí)現(xiàn)步驟
在?Electron?中,如果你想去掉默認(rèn)的窗口邊框(frame)并添加額外的按鍵,可以通過相關(guān)步驟實(shí)現(xiàn),下面小編給大家?guī)砹薊lectron去掉窗口邊框并添加關(guān)閉按鈕的實(shí)現(xiàn)步驟,感興趣的朋友一起看看吧2024-06-06JS驗(yàn)證IP,子網(wǎng)掩碼,網(wǎng)關(guān)和MAC的方法
這篇文章主要介紹了JS驗(yàn)證IP,子網(wǎng)掩碼,網(wǎng)關(guān)和MAC的方法,涉及javascript正則表達(dá)式的相關(guān)使用技巧,需要的朋友可以參考下2015-07-07