当前位置:首页 > JavaScript

js实现sum

2026-02-02 04:29:31JavaScript

JavaScript 实现 sum 函数

在 JavaScript 中,实现一个 sum 函数可以通过多种方式完成,具体取决于需求场景(如数组求和、多个参数求和等)。以下是几种常见的实现方法:

数组求和

若需求是对数组中的数字求和,可以使用以下代码:

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

示例调用:

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

多参数求和

若需求是直接对多个参数求和(非数组形式),可以使用 arguments 或剩余参数:

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

示例调用:

console.log(sum(1, 2, 3, 4)); // 输出: 10

处理非数字输入

若需要处理可能存在的非数字输入(如字符串数字),可添加类型转换:

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

示例调用:

console.log(sum(1, '2', 3)); // 输出: 6

递归实现

递归方式适用于学习场景,但实际项目中较少使用:

js实现sum

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

注意事项

  • 若数组中包含非数字值(如 null 或对象),需额外处理,否则会得到意外结果(如 [1, 2, null] 求和结果为 3null)。
  • 大数组求和时,递归可能导致栈溢出,建议使用迭代方法(如 reduce)。

标签: jssum
分享给朋友:

相关文章

js实现拷贝

js实现拷贝

实现文本拷贝 使用 document.execCommand 方法(已废弃但兼容性较好): function copyText(text) { const textarea = document…

js实现变形

js实现变形

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

js实现目录

js实现目录

实现目录的基本思路 在JavaScript中实现目录功能通常涉及以下几个核心步骤:解析文档中的标题元素(如h1-h6),动态生成目录结构,并添加交互逻辑(如点击跳转)。以下是具体实现方法: 解析标题…

节流js实现

节流js实现

节流(Throttle)的实现原理 节流是一种限制函数执行频率的技术,确保函数在一定时间间隔内最多执行一次。适用于高频触发事件(如滚动、输入、窗口调整等)的场景。 基础实现方式 使用时间戳判断是否执…

js实现显示隐藏

js实现显示隐藏

显示隐藏的实现方法 在JavaScript中,实现元素的显示和隐藏可以通过多种方式完成。以下是几种常见的方法: 修改CSS的display属性 通过改变元素的display属性可以在none(隐藏)…

js实现 拖动

js实现 拖动

实现拖动的步骤 HTML 结构 创建一个可拖动的元素和一个放置区域: <div id="draggable" draggable="true">拖动我</div> <d…