当前位置:首页 > JavaScript

js实现sum方法

2026-02-02 18:14:17JavaScript

实现基本的数组求和

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

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

处理非数值类型

添加类型检查确保只计算数字类型:

js实现sum方法

const sum = (arr) => arr.reduce(
  (acc, curr) => acc + (typeof curr === 'number' ? curr : 0),
  0
);

支持多层嵌套数组

通过递归实现嵌套数组求和:

js实现sum方法

const sum = (arr) => arr.reduce(
  (acc, curr) => acc + (Array.isArray(curr) ? sum(curr) : typeof curr === 'number' ? curr : 0),
  0
);

添加边界条件处理

完善输入校验和边界情况处理:

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

性能优化版本

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

const sum = (arr) => {
  let total = 0;
  for (let i = 0; i < arr.length; i++) {
    const val = arr[i];
    total += Array.isArray(val) ? sum(val) : Number(val) || 0;
  }
  return total;
};

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

相关文章

vue实现js休眠

vue实现js休眠

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

js实现动画

js实现动画

使用 CSS 动画与 JavaScript 控制 通过 JavaScript 动态添加或移除 CSS 类来触发动画。CSS 定义关键帧(@keyframes),JavaScript 通过 classL…

js实现抽奖

js实现抽奖

实现抽奖功能的基本思路 抽奖功能的核心是随机选择奖项并展示结果。可以通过数组存储奖项,利用随机数生成索引,最后通过动画增强用户体验。 准备奖项数据 定义一个数组存储奖项信息,每个奖项可以包含名称、图…

js实现授权

js实现授权

授权流程设计 授权流程通常涉及前端与后端的交互,常见方案包括OAuth2.0、JWT等。以JWT为例的典型流程: 用户提交凭证(如用户名密码)到认证服务 服务端验证通过后生成包含用户信息的JWT令牌…

js实现密码

js实现密码

密码强度验证 使用正则表达式验证密码强度是一种常见方法。以下代码检查密码是否包含大小写字母、数字和特殊字符,且长度至少为8位: function checkPasswordStrength(pass…

js实现正交

js实现正交

正交的概念 正交在数学和计算机科学中通常指两个向量垂直或线性无关。在编程中,正交性常被用于设计模块化、低耦合的系统。 向量正交判断 判断两个向量是否正交可以通过点积是否为0来实现: fun…