javascript中實現求和的方法:1、透過「function sumArr(arr){...}」方法求和;2、透過forEach遍歷求和;3、透過「eval(arr.join (" "))」方式求和。
本文操作環境:windows7系統、javascript1.8.5版、Dell G3電腦。
javascript中求和的方法
JS數組求和方法
數組求和,一般我們的想法都是去遍歷數組各項,然後累加。
那就是這樣:
function sumArr(arr){ var sum = 0; for(var i = 0;i<=arr.length;i++){ sum += arr[i];//前提是arr中各项是数字,而不是数字字符串 //如果是数字字符串:sum += Number(arr[i]); } return sum; }
又或者是forEach遍歷:
function sumArr(arr){ var sum = 0; arr.forEach(function(val,index,arr){ sum += val; }) return sum; }
還有一個比較黑科技的寫法:
function sumArr(arr){ return eval(arr.join("+")) }//直接把他变成各个数的加法运算字符串
當然還有這種被人廣泛稱讚的函數式程式設計的寫法:
function sumArr(arr){ return arr.reduce(function(prev,cur){ return prev + cur; },0); } //reduce方法有两个参数,一个是callbackfunction(回调函数), //二是设置prev的初始类型和初始值
有一道筆試題:(由此而總結了該文章)
給定任意非負整數,反覆累加各位數字直到結果為個位數為止。例如給定非負整數912,第一次累加9 1 2 = 12, 第二次累加1 2 = 3, 3為個位數,循 環終止回3。請編程實現。
function add(num){ if(isNaN(num)) return; if(num<10) return num const res=num.toString().split('').reduce((sum,value)=>{ return sum+Number(value) },0) return add(res); } add(345); 3
推薦學習:《javascript進階教學》
以上是javascript中求和的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!