javascript中求和的方法

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中求和的方法的详细内容,更多请关注其它相关文章!