所属分类:web前端开发
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中求和的方法的详细内容,更多请关注zzsucai.com其它相关文章!