当前位置:首页 > 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 进度条的实现

使用 HTML 和 CSS 创建基础进度条 HTML 结构可以简单使用一个 div 元素作为容器,内部嵌套另一个 div 表示进度: <div class="progress-contain…

js实现瀑布流

js实现瀑布流

实现瀑布流布局 瀑布流布局是一种常见的网页布局方式,常用于图片展示、商品列表等场景。以下是使用 JavaScript 实现瀑布流布局的几种方法。 纯 JavaScript 实现 通过计算元素的位置…

js实现防洪

js实现防洪

防抖(Debounce)实现 防抖的核心思想是在事件触发后延迟执行回调函数,若在延迟时间内再次触发事件,则重新计时。适用于输入框搜索、窗口调整等场景。 function debounce(f…

js手势实现

js手势实现

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

vue实现js休眠

vue实现js休眠

实现 JavaScript 休眠的方法 在 Vue 中实现 JavaScript 休眠(延迟执行)可以通过以下方式实现。由于 JavaScript 本身没有内置的 sleep 函数,通常使用 Prom…

js实现搜索

js实现搜索

实现搜索功能的方法 在JavaScript中实现搜索功能可以通过多种方式完成,以下是几种常见的实现方法。 使用数组的filter方法 通过数组的filter方法可以筛选出符合条件的数据项。假设有一个…