当前位置:首页 > 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

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

js实现求和

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

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

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

js实现求和

递归求和

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

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

注意事项

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

标签: js
分享给朋友:

相关文章

js实现图片预览

js实现图片预览

使用FileReader API实现图片预览 通过FileReader对象读取用户选择的图片文件并显示预览: const input = document.getElementById('image…

js实现乘

js实现乘

JavaScript 实现乘法运算 在 JavaScript 中实现乘法运算可以通过多种方式完成,包括基本运算符、函数封装以及高级算法(如大数乘法)。以下是几种常见方法: 使用基本乘法运算符 Jav…

js实现论坛

js实现论坛

实现论坛的基本功能 使用JavaScript实现一个论坛需要结合前端和后端技术。前端可以使用React、Vue或Angular等框架,后端可以选择Node.js配合Express或Koa框架。数据库可…

js手势实现

js手势实现

手势识别实现方法 在JavaScript中实现手势识别通常涉及监听触摸事件(touchstart、touchmove、touchend)或鼠标事件(mousedown、mousemove、mouseu…

js实现滚动

js实现滚动

实现滚动效果的方法 在JavaScript中实现滚动效果可以通过多种方式完成,以下是一些常见的方法: 使用window.scrollTo() window.scrollTo()方法可以将页面滚动到指…

js 实现跳转

js 实现跳转

使用 window.location.href 进行跳转 通过修改 window.location.href 可以跳转到指定 URL,浏览器会加载新页面: window.location.hre…