当前位置:首页 > JavaScript

js实现累加

2026-02-01 08:26:58JavaScript

使用循环实现累加

通过循环可以逐个累加数组中的元素。以下是使用 for 循环的示例:

function sumWithLoop(arr) {
  let total = 0;
  for (let i = 0; i < arr.length; i++) {
    total += arr[i];
  }
  return total;
}
const numbers = [1, 2, 3, 4, 5];
console.log(sumWithLoop(numbers)); // 输出: 15

使用 reduce 方法实现累加

Array.prototype.reduce 是专为累加操作设计的高阶函数,简洁高效:

const sumWithReduce = (arr) => arr.reduce((acc, curr) => acc + curr, 0);
console.log(sumWithReduce([1, 2, 3, 4])); // 输出: 10

递归实现累加

递归方式适合函数式编程场景,但需注意栈溢出风险:

function sumRecursive(arr, index = 0) {
  return index >= arr.length ? 0 : arr[index] + sumRecursive(arr, index + 1);
}
console.log(sumRecursive([10, 20, 30])); // 输出: 60

使用 eval 动态计算(慎用)

通过字符串拼接生成表达式,适用于特殊场景但不推荐常规使用:

js实现累加

const numbers = [1, 3, 5, 7];
const sumEval = eval(numbers.join('+'));
console.log(sumEval); // 输出: 16

性能优化建议

  • 大数据集优先选择 reduce 或循环,避免递归
  • 类型安全检查可添加 Number.isFinite 验证
  • Web Worker 可分割计算任务处理超大规模数据

标签: js
分享给朋友:

相关文章

js实现轮播图

js实现轮播图

基础轮播图实现 使用HTML、CSS和JavaScript实现一个简单的自动轮播图。HTML结构包含一个容器和多个图片项。 <div class="slider"> <div…

js实现复制到剪贴板

js实现复制到剪贴板

使用document.execCommand方法(传统方式,已废弃但部分浏览器仍支持) 该方法适用于旧版浏览器,但已被标记为废弃。执行前需确保文本已被选中: function copyToClipb…

js实现二叉树

js实现二叉树

二叉树的基本概念 二叉树是一种树形数据结构,每个节点最多有两个子节点,分别称为左子节点和右子节点。二叉树的常见操作包括插入、删除、遍历等。 二叉树的节点定义 在JavaScript中,二叉树的节点可…

js实现百叶窗

js实现百叶窗

使用CSS和JavaScript实现百叶窗效果 通过CSS动画和JavaScript事件监听可以实现百叶窗效果。核心思路是将内容区域分割为多个条状元素,通过控制它们的展开/折叠状态来模拟百叶窗。 &…

使用js实现

使用js实现

使用JavaScript实现 JavaScript可以通过Math.random()函数生成随机数,结合其他方法可以实现多种随机数生成需求。 // 生成0到1之间的随机小数 const random…

js实现图

js实现图

JavaScript 实现图的常用方法 在 JavaScript 中,图(Graph)可以通过多种方式实现,常见的包括邻接表(Adjacency List)和邻接矩阵(Adjacency Matrix…