当前位置:首页 > JavaScript

js实现累加

2026-03-14 06:58:52JavaScript

使用循环实现累加

通过循环遍历数组或数字序列,逐一相加实现累加功能。以下是常见的循环方法:

for循环示例:

function sumWithForLoop(arr) {
  let total = 0;
  for (let i = 0; i < arr.length; i++) {
    total += arr[i];
  }
  return total;
}
console.log(sumWithForLoop([1, 2, 3, 4])); // 输出10

while循环示例:

js实现累加

function sumWithWhileLoop(arr) {
  let total = 0;
  let i = 0;
  while (i < arr.length) {
    total += arr[i];
    i++;
  }
  return total;
}

使用数组reduce方法

利用数组的reduce方法可以更简洁地实现累加:

const sumWithReduce = arr => arr.reduce((acc, curr) => acc + curr, 0);
console.log(sumWithReduce([5, 10, 15])); // 输出30

递归实现累加

通过函数递归调用实现累加运算:

js实现累加

function recursiveSum(arr, index = 0) {
  return index >= arr.length ? 0 : arr[index] + recursiveSum(arr, index + 1);
}
console.log(recursiveSum([2, 4, 6])); // 输出12

数字序列累加

针对连续数字序列(如1到n的累加),可使用数学公式优化:

// 数学公式法 (n*(n+1))/2
const sumToN = n => n * (n + 1) / 2;
console.log(sumToN(100)); // 输出5050

带条件的累加

在累加过程中加入条件判断:

function conditionalSum(arr, conditionFn) {
  return arr.reduce((sum, num) => conditionFn(num) ? sum + num : sum, 0);
}
// 示例:累加所有偶数
console.log(conditionalSum([1, 2, 3, 4], n => n % 2 === 0)); // 输出6

注意事项

  1. 处理大数时注意JavaScript的数字精度限制(最大安全整数为9007199254740991
  2. 空数组求和时应返回0而非undefined
  3. 非数值元素会导致NaN结果,建议先进行类型检查

标签: js
分享给朋友:

相关文章

js实现选项卡

js实现选项卡

实现选项卡的基本思路 选项卡通常由一组标签和对应的内容面板组成。点击标签时,显示对应的内容面板,隐藏其他面板。实现这一效果需要结合HTML结构、CSS样式和JavaScript交互逻辑。 HTML结…

js树实现

js树实现

树的基本概念 树是一种非线性的数据结构,由节点和边组成。每个节点包含一个值和指向子节点的引用。树的顶部节点称为根节点,没有子节点的节点称为叶节点。 树的实现方式 在JavaScript中,树可以通过…

js画图实现

js画图实现

使用Canvas API绘制图形 Canvas是HTML5提供的绘图API,通过JavaScript操作Canvas元素可以绘制各种图形。以下是一个简单的示例: <canvas id="myC…

利用js实现

利用js实现

使用 JavaScript 实现 在 JavaScript 中,可以通过多种方式实现功能,具体取决于需求。以下是几种常见的方法: 方法一:使用原生 JavaScript // 示例代码…

js实现交换

js实现交换

交换变量的方法 在JavaScript中,交换两个变量的值有多种方法。以下是常见的几种实现方式: 使用临时变量 通过引入一个临时变量来存储其中一个变量的值,实现交换: let a = 1; le…

js节流实现

js节流实现

节流的概念 节流(Throttle)是一种限制函数执行频率的技术,确保函数在一定时间间隔内只执行一次。常用于滚动事件、窗口调整等高频触发的场景。 基础实现方法 使用时间戳判断是否执行函数: fun…