本文总结了JavaScript中数组求和的多种实现方式,包括通过原型扩展内置方法、普通for循环、递归调用、函数式编程reduce以及forEach遍历。此外还介绍了使用eval()方法的技巧及其注意事项,帮助开发者根据场景选择合适方案。
本文主要介绍JavaScript中实现数组求和的几种常用技术手段。
第一种方式是通过扩展Array原型对象,为内置数组类型添加自定义方法。
<script>
Array.prototype.sum = function () {
var sum = 0;
for (var i = 0; i < this.length; i++) {
sum += this[i];
}
return sum;
};
var arr = [1, 2, 3, 4];
console.log(arr.sum()); // 10
</script>
第二种方式是利用普通的for循环编写求和函数。
<script>
function sum(arr) {
var sum = 0;
for (var i = 0; i < arr.length; i++) {
sum += arr[i];
}
return sum;
}
var arr = [1, 2, 3, 4];
console.log(sum(arr)); // 10
</script>
第三种方式采用递归逻辑进行数组元素累加。
<script>
function sum(arr) {
if (arr.length == 0) {
return 0; // 递归出口
} else {
return arr[0] + sum(arr.slice(1));
}
}
var arr = [1, 2, 3, 4];
console.log(sum(arr)); // 10
</script>
第四种方式借助函数式编程中的reduce方法实现求和。
<script>
function sum(arr) {
return arr.reduce(function (total, value) {
return total + value;
}, 0);
}
var arr = [1, 2, 3, 4];
console.log(sum(arr)); // 10
</script>
补充说明:在使用reduce()方法时,需注意其最后一个参数的作用,此处存在一个容易出错的特殊情况,请留意避坑。

第五种方式是通过forEach遍历数组元素进行累加。
<script>
function sum(arr) {
var s = 0;
arr.forEach(function (value) {
s += value;
});
return s;
}
var arr = [1, 2, 3, 4];
console.log(sum(arr)); // 10
</script>
第六种方式是利用eval()函数执行拼接后的字符串表达式来求和。
<script>
function sum(arr) {
return eval(arr.join("+"));
}
var arr = [1, 2, 3, 4];
console.log(sum(arr)); // 10
</script>
参考文献:
1:JS数组求和的常用方法总结【5种方法】。
2:JS函数式编程里使用Map和Reduce方法。
3:JS中的eval()方法详解-eval方法的初级应用。
总结
至此,关于JS数组求和的几种常见方法总结的文章介绍完毕。如需了解更多JS数组求和相关内容,建议搜索本站历史文章或继续浏览下方推荐内容,感谢大家的支持!