当前位置:首页 > JavaScript

js实现sum

2026-04-06 21:42:17JavaScript

JavaScript 实现 sum 函数

在 JavaScript 中实现 sum 函数可以通过多种方式完成,以下是几种常见的方法:

基础实现

function sum(...numbers) {
  return numbers.reduce((acc, curr) => acc + curr, 0);
}

此方法使用 ES6 的剩余参数语法和 reduce 方法,能够处理任意数量的参数并返回它们的总和。

处理数组输入

function sumArray(arr) {
  return arr.reduce((total, num) => total + num, 0);
}

如果输入是一个数组,可以使用此方法直接对数组元素求和。

处理混合类型

function safeSum(...items) {
  return items.reduce((acc, item) => {
    const num = Number(item);
    return acc + (isNaN(num) ? 0 : num);
  }, 0);
}

此版本会尝试将每个参数转换为数字,非数字值会被视为 0,避免 NaN 错误。

递归实现

function recursiveSum(arr, index = 0) {
  return index < arr.length 
    ? arr[index] + recursiveSum(arr, index + 1)
    : 0;
}

递归方式适合学习算法概念,但对于大型数组可能导致栈溢出。

性能优化版本

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

对于超大型数组,传统的 for 循环通常比 reduce 有更好的性能表现。

js实现sum

使用场景示例

// 基本使用
console.log(sum(1, 2, 3)); // 输出 6

// 数组版本
console.log(sumArray([1, 2, 3])); // 输出 6

// 安全版本
console.log(safeSum(1, '2', 'a')); // 输出 3

选择哪种实现取决于具体需求,包括输入类型、性能要求和错误处理需求等。现代 JavaScript 项目通常推荐使用第一种或第二种方案。

标签: jssum
分享给朋友:

相关文章

js实现轮播图

js实现轮播图

轮播图实现方法 基础HTML结构 <div class="slider"> <div class="slides"> <img src="image1.jpg…

js实现倒计时

js实现倒计时

使用 setInterval 实现倒计时 通过 setInterval 定时器每秒更新剩余时间,适用于简单倒计时场景。 function countdown(seconds, callbac…

js实现tab选项卡切换

js实现tab选项卡切换

实现Tab选项卡切换的JavaScript方法 使用纯JavaScript实现Tab切换功能,可以通过监听点击事件动态切换内容显示状态。以下是两种常见实现方式: 基础DOM操作实现 /…

js实现点击显示和隐藏

js实现点击显示和隐藏

实现点击显示和隐藏的JavaScript方法 使用classList.toggle切换类名 通过添加/移除CSS类控制元素的显示与隐藏,需提前在CSS中定义隐藏样式(如display: none)。…

js实现防洪

js实现防洪

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

js树实现

js树实现

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