JS數(shù)組求和的常用方法總結(jié)【5種方法】
本文實(shí)例總結(jié)了JS數(shù)組求和的常用方法。分享給大家供大家參考,具體如下:
題目描述
計(jì)算給定數(shù)組 arr 中所有元素的總和
輸入描述:
數(shù)組中的元素均為 Number 類型
輸入例子:
sum([ 1, 2, 3, 4 ])
輸出例子:
10
方法1. 不考慮算法復(fù)雜度,用遞歸做:
function sum(arr) { var len = arr.length; if(len == 0){ return 0; } else if (len == 1){ return arr[0]; } else { return arr[0] + sum(arr.slice(1)); } }
方法2. 常規(guī)循環(huán):
function sum(arr) { var s = 0; for (var i=arr.length-1; i>=0; i--) { s += arr[i]; } return s; }
方法3. 函數(shù)式編程 map-reduce:
function sum(arr) { return arr.reduce(function(prev, curr, idx, arr){ return prev + curr; }); }
方法4. forEach遍歷:
function sum(arr) { var s = 0; arr.forEach(function(val, idx, arr) { s += val; }, 0); return s; };
方法5. eval:
function sum(arr) { return eval(arr.join("+")); };
//測試輸出運(yùn)行結(jié)果: console.log(sum([ 1, 2, 3, 4 ]))
使用在線HTML/CSS/JavaScript代碼運(yùn)行工具:http://tools.jb51.net/code/HtmlJsRun測試上述代碼,可得如下運(yùn)行結(jié)果:
感興趣的朋友可以動(dòng)手測試一下上述代碼。
更多關(guān)于JavaScript相關(guān)內(nèi)容還可查看本站專題:《JavaScript數(shù)組操作技巧總結(jié)》、《JavaScript字符與字符串操作技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》、《JavaScript排序算法總結(jié)》、《JavaScript查找算法技巧總結(jié)》、《JavaScript數(shù)學(xué)運(yùn)算用法總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》及《JavaScript錯(cuò)誤與調(diào)試技巧總結(jié)》
希望本文所述對大家JavaScript程序設(shè)計(jì)有所幫助。
相關(guān)文章
JavaScript新手必看之var在for循環(huán)中的坑
var這個(gè)關(guān)鍵字在JS當(dāng)中是相當(dāng)常用的,但同時(shí)配合到for循環(huán)的話會(huì)出現(xiàn)不符合預(yù)期的運(yùn)行結(jié)果,所以本文就來為大家講講如何避免這種情況的出現(xiàn)2023-05-05from表單多個(gè)按鈕提交用onclick跳轉(zhuǎn)不同action
這篇文章主要介紹了from表單多個(gè)按鈕提交用onclick跳轉(zhuǎn)不同action,需要的朋友可以參考下2014-04-04基于JS如何實(shí)現(xiàn)類似QQ好友頭像hover時(shí)顯示資料卡的效果(推薦)
通過本文給大家介紹鼠標(biāo)經(jīng)過好友列表中的好友頭像時(shí)顯示資料卡的效果,非常不錯(cuò)具有參考借鑒價(jià)值,感興趣的朋友一起看下吧2016-06-06Echarts折線圖實(shí)現(xiàn)一條折線顯示不同顏色的方法
這篇文章主要給大家介紹了關(guān)于Echarts折線圖實(shí)現(xiàn)一條折線顯示不同顏色的相關(guān)資料,Echarts的折線圖可以通過設(shè)置series中的itemStyle屬性來改變折線的顏色,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-02-02JavaScript中的location、history、navigator對象實(shí)例介紹
這篇文章主要介紹了JavaScript中的location、history、navigator對象實(shí)例介紹,需要的朋友可以參考下2023-05-05詳解如何讓InstantClick兼容MathJax、百度統(tǒng)計(jì)等
本篇文章主要介紹了如何讓InstantClick兼容MathJax、百度統(tǒng)計(jì)等,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-09-09js 實(shí)現(xiàn)菜單左右滾動(dòng)顯示示例介紹
菜單左右滾動(dòng)顯示的實(shí)現(xiàn)方法有很多,在本文將為大家介紹下如何使用js實(shí)現(xiàn),需要的朋友可以參考下,希望對大家有所幫助2013-11-11