当前位置:首页 > JavaScript

js 实现累加

2026-04-07 03:14:55JavaScript

使用循环实现累加

通过 for 循环或 while 循环可以轻松实现数组或数字的累加。以下是一个使用 for 循环累加数组元素的示例:

function sumArray(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(sumArray(numbers)); // 输出: 15

使用 reduce 方法实现累加

JavaScript 的 Array.prototype.reduce 方法是实现累加的高效方式,特别适合处理数组求和:

const numbers = [1, 2, 3, 4, 5];
const sum = numbers.reduce((accumulator, currentValue) => accumulator + currentValue, 0);
console.log(sum); // 输出: 15

reduce 方法的第二个参数 0 是初始值,可以根据需求调整。

递归实现累加

递归也可以用于累加,尤其是在函数式编程中:

function recursiveSum(arr, index = 0, total = 0) {
  if (index >= arr.length) return total;
  return recursiveSum(arr, index + 1, total + arr[index]);
}

const numbers = [1, 2, 3, 4, 5];
console.log(recursiveSum(numbers)); // 输出: 15

累加数字范围

如果需要累加一定范围内的数字(如 1 到 n),可以使用数学公式或循环:

// 使用数学公式
function sumRange(n) {
  return (n * (n + 1)) / 2;
}
console.log(sumRange(5)); // 输出: 15

// 使用循环
function sumRangeLoop(n) {
  let total = 0;
  for (let i = 1; i <= n; i++) {
    total += i;
  }
  return total;
}
console.log(sumRangeLoop(5)); // 输出: 15

累加对象属性

如果需要累加对象数组中的某个属性值,可以结合 reduce 方法:

js 实现累加

const items = [
  { name: 'A', value: 10 },
  { name: 'B', value: 20 },
  { name: 'C', value: 30 }
];

const totalValue = items.reduce((sum, item) => sum + item.value, 0);
console.log(totalValue); // 输出: 60

以上方法覆盖了常见的累加需求,可以根据具体场景选择合适的方式。

标签: js
分享给朋友:

相关文章

js 实现vue模板

js 实现vue模板

实现 Vue 模板的 JavaScript 方法 通过原生 JavaScript 可以实现类似 Vue 的模板渲染功能,主要包括数据绑定、指令处理和模板解析。以下是核心实现思路: 数据绑定与…

js实现验证码

js实现验证码

使用Canvas生成图形验证码 在HTML中创建一个Canvas元素用于绘制验证码。通过JavaScript随机生成数字或字母组合,并添加干扰线、噪点等干扰元素增强安全性。 <canvas i…

js实现换肤

js实现换肤

使用CSS变量实现换肤 通过CSS变量可以轻松实现主题切换功能。CSS变量在根元素中定义,通过JavaScript动态修改这些变量值。 :root { --primary-color: #349…

js实现图表

js实现图表

在JavaScript中实现图表通常使用流行的图表库,以下是几种常见的方法和工具: 使用Chart.js Chart.js是一个简单灵活的库,适合快速生成响应式图表。安装方式包括CDN引入或npm安…

js实现求导

js实现求导

实现数值求导的方法 在JavaScript中实现求导通常采用数值方法,因为JavaScript不是符号计算语言。以下是常见的数值微分方法: 中心差分法 中心差分法提供较高精度的导数近似:…

js实现授权

js实现授权

授权流程设计 授权流程通常涉及前端与后端的交互,常见方案包括OAuth2.0、JWT等。以JWT为例的典型流程: 用户提交凭证(如用户名密码)到认证服务 服务端验证通过后生成包含用户信息的JWT令牌…