当前位置:首页 > JavaScript

js实现sum方法

2026-04-07 11:57:25JavaScript

实现数组求和的基本方法

使用 reduce 方法对数组元素进行累加:

const sum = (arr) => arr.reduce((acc, curr) => acc + curr, 0);

处理非数组或空数组的情况

增加类型校验和空数组处理逻辑:

const sum = (arr) => {
  if (!Array.isArray(arr)) throw new Error('Input must be an array');
  return arr.length === 0 ? 0 : arr.reduce((acc, curr) => acc + curr, 0);
};

支持多维数组求和

通过递归实现多维数组求和:

const sum = (arr) => {
  return arr.reduce((acc, curr) => {
    return acc + (Array.isArray(curr) ? sum(curr) : curr);
  }, 0);
};

添加数值类型校验

确保只对数字类型进行求和:

const sum = (arr) => {
  return arr.reduce((acc, curr) => {
    const num = parseFloat(curr);
    return acc + (isNaN(num) ? 0 : num);
  }, 0);
};

性能优化版本

针对大型数组的优化实现:

const sum = (arr) => {
  let total = 0;
  for (let i = 0; i < arr.length; i++) {
    total += arr[i] || 0;
  }
  return total;
};

支持链式调用的实现

扩展数组原型实现链式调用:

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

使用时直接调用:

js实现sum方法

[1, 2, 3].sum(); // 返回6

标签: 方法js
分享给朋友:

相关文章

vue实现js休眠

vue实现js休眠

Vue 中实现 JavaScript 休眠 在 Vue 中实现 JavaScript 休眠通常需要使用异步方式,以避免阻塞主线程。以下是几种常见方法: 使用 setTimeout 和 Promise…

vue.js实现轮播

vue.js实现轮播

Vue.js 实现轮播功能 使用第三方库(推荐) Vue.js 生态中有许多成熟的轮播组件库,例如 vue-awesome-swiper 或 swiper,它们功能丰富且易于集成。 安装 swipe…

js实现拖拽

js实现拖拽

实现拖拽的基本步骤 通过监听鼠标事件(mousedown、mousemove、mouseup)实现拖拽功能。以下是核心代码逻辑: const draggableElement = document.…

js实现延迟

js实现延迟

实现延迟的方法 在JavaScript中,实现延迟操作有多种方式,以下是几种常见的方法: 使用setTimeout函数 setTimeout是JavaScript中最常用的延迟执行方法。它接受一个回…

js实现二叉树

js实现二叉树

二叉树的基本概念 二叉树是一种树形数据结构,每个节点最多有两个子节点,分别称为左子节点和右子节点。二叉树的常见操作包括插入、删除、遍历等。 二叉树的节点定义 在JavaScript中,二叉树的节点可…

链表实现js

链表实现js

链表的基本概念 链表是一种线性数据结构,由一系列节点组成,每个节点包含数据和一个指向下一个节点的指针(单向链表)或两个指针(双向链表)。与数组不同,链表在内存中非连续存储,插入和删除操作更高效,但随机…