当前位置:首页 > JavaScript

js实现求和

2026-03-02 04:16:32JavaScript

实现 JavaScript 求和的方法

使用 reduce 方法对数组求和

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

reduce 方法通过遍历数组累加元素,初始值设为 0 确保空数组也能正确返回 0。

使用 for 循环遍历求和

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

传统循环方式,适用于需要中断循环或复杂逻辑的场景。

使用 eval 动态计算字符串表达式(不推荐)

const numbers = [1, 2, 3, 4, 5];
const sum = eval(numbers.join('+'));
console.log(sum); // 输出 15

将数组转为 1+2+3+4+5 字符串后通过 eval 执行,存在安全风险,仅作演示。

递归求和

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

递归实现,需注意栈溢出风险,适合学习算法场景。

使用 arguments 对象对函数参数求和

function sum() {
  return [...arguments].reduce((a, b) => a + b, 0);
}
console.log(sum(1, 2, 3, 4, 5)); // 输出 15

适用于不确定参数数量的场景,通过展开运算符转为数组处理。

js实现求和

注意事项

  • 浮点数求和时建议使用 toFixed 处理精度问题:
    const floatSum = [0.1, 0.2].reduce((a, b) => (a + b).toFixed(1));
    console.log(floatSum); // 输出 "0.3"
  • 大数组求和时优先考虑循环而非递归,避免堆栈溢出。

标签: js
分享给朋友:

相关文章

js实现跳转

js实现跳转

使用 window.location 跳转 通过修改 window.location.href 或直接使用 window.location 实现页面跳转,适用于普通跳转或带参数的 URL。 // 方…

js 实现分页

js 实现分页

实现分页的基本逻辑 分页功能通常需要后端返回数据总量或总页数,前端根据当前页码和每页条数截取对应数据。以下是一个基于JavaScript的简单分页实现方案: 前端分页实现 假设已有从后端获取的完整数…

js实现变形

js实现变形

使用 CSS 和 JavaScript 实现元素变形 在 JavaScript 中实现变形效果通常结合 CSS 的 transform 属性,通过动态修改该属性实现元素的旋转、缩放、倾斜或平移。 基…

js类实现

js类实现

使用类实现 JavaScript 功能 在 JavaScript 中,类(Class)是一种语法糖,基于原型继承机制。通过 class 关键字可以更直观地定义对象模板。 基本类定义 class…

js钟表实现

js钟表实现

实现JavaScript钟表的基本方法 创建一个简单的JavaScript钟表可以通过以下步骤完成,涵盖数字和模拟两种形式。 数字钟表实现 HTML结构只需一个显示时间的容器: <div i…

js实现vue路由

js实现vue路由

Vue 路由的基本实现 在 Vue.js 中实现路由功能通常使用 Vue Router 库。Vue Router 是 Vue.js 官方的路由管理器,用于构建单页面应用(SPA)。 安装 Vue R…