JS 数组求和的5种方法(解题报告)

2023-11-11

转自牛客网。

题目:

题目描述

计算给定数组 arr 中所有元素的总和
输入描述:
数组中的元素均为 Number 类型


输入例子:
sum([ 1, 2, 3, 4 ])

输出例子:
10



不考虑算法复杂度,用递归做:

1
2
3
4
5
6
7
8
9
10
function sum(arr) {
    var len = arr.length;
    if(len == 0){
        return 0;
    } else if (len == 1){
        return arr[0];
    } else {
        return arr[0] + sum(arr.slice(1));
    }
}
常规循环:
1
2
3
4
5
6
7
function sum(arr) {
    var s = 0;
    for (var i=arr.length-1; i>=0; i--) {
        s += arr[i];
    }
    return s;
}
函数式编程 map-reduce:
1
2
3
4
5
function sum(arr) {
    return arr.reduce(function(prev, curr, idx, arr){
        return prev + curr;
    });
}
forEach遍历:
1
2
3
4
5
6
7
8
function sum(arr) {
    var s = 0;
    arr.forEach(function(val, idx, arr) {
        s += val;
    }, 0);
  
    return s;
};
eval:
1
2
3
function sum(arr) {
    return eval(arr.join("+"));
};

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JS 数组求和的5种方法(解题报告) 的相关文章

  • Material UI Drawer设置背景色

    如何简单设置Material UI的背景色Drawer 尝试过这个 但不起作用
  • Android 上的自定义视图和窗口属性

    我想要做的是在我的应用程序顶部添加一个视图 该视图类似于过滤器视图 我想操纵屏幕的颜色 并且我还希望能够同时更改屏幕的亮度时间 这两件事似乎是分开起作用的 但不能一起起作用 这是我的代码 添加视图 colourView new Layer
  • Java Swing JEditorPane:操作样式文档

    我的模型是与枚举类型关联的字符串队列 我试图在 JEditorPane 中显示该模型 队列中的每个元素作为一个单独的 HTML 段落 其属性基于关联的枚举类型 但是 我的更新方法并没有达到我想要的效果 我尝试将 HTML 字符串直接写入文档
  • preg_match_all JS 等效吗?

    Javascript 中是否有与 PHP 的 preg match all 等效的函数 如果没有 将正则表达式的所有匹配项放入数组的最佳方法是什么 我愿意使用任何 JS 库来让它变得更容易 您可以使用match使用全局修饰符 gt gt g
  • Express.js“app.use()需要中间件功能”

    我正在学习 Express js 4 和 Node 但遇到了一个我无法弄清楚的错误 我正在尝试使用 node sass 包来编译我的 sass 代码 但我无法启动并运行它 这是我的主文件的精简版本 var express require e
  • 未从线程接收位置数据

    我尝试使用计时器经常发送包含用户位置的短信 最初 我遇到了空指针异常 这是由于我犯了一个简单的错误 一旦解决了这个问题 一切似乎都运行良好 但是 它永远不会获取我的位置 因此 不断发送的文本显示 无法接收位置 我想问的是为什么它无法获取我的
  • 关闭弹出窗口后重新加载父页面

    我试图让用户通过弹出窗口登录 当他们单击弹出窗口的链接 这是一个 php 变量 时 他们可以登录 当窗口关闭时 我希望它重新加载他们最初所在的页面 父页面 这是signin php页面上的代码 但这所做的只是使登录页面成为用户所在的页面 我
  • Android 以编程方式停止 toast 通知?

    有没有办法以编程方式停止 Toast 消息 假设我有一个按钮 单击它可以滚动 toast 消息 并且在 onclick 事件中我想停止队列中的所有消息并只显示新消息 我该怎么做 我的代码的简化版本如下 代码 public class Hel
  • 将复杂对象传递给 ui-sref 参数

    我需要这样的构建网址 列表 过滤器 状态 1 过滤器 类型 2 I do link a List a 在参数中传递复杂对象 如果传递简单对象 filter 1 可以 但我需要这个 state state list url list filt
  • System.out.println("嗨"+6+10);打印Hi610?

    为什么要这样做 太令人困惑了 运算符优先级和结合性 两点 操作员 如果一个或两个参数都是字符串 则进行字符串连接 操作员 从左到右工作 所以在你的例子中 Hi 6 is Hi6 and Hi6 10 is Hi610 编辑 正如您在对另一个
  • 解析 SWIG 接口文件的结构属性

    这是我不久前问过的问题的延续 为通过参数返回的函数创建类型映射 https stackoverflow com questions 12793973 create a typemap for a function that returns
  • 使用 OpenNLP 获取句子的解析树。陷入困境。

    OpenNLP 是一个关于自然语言处理的 Apache 项目 NLP 程序的目标之一是解析一个句子 并给出其语法结构的树 例如 天空是蓝色的 这句话 可能会被解析为 S NP VP The sky is blue where S是句子 NP
  • JSF - 实施受限页面过滤器

    我正在关注 BalusC 的回答JSF 2 0 如何获取在浏览器地址栏中输入的 URL https stackoverflow com questions 4105263 jsf 2 0 how to get the url that is
  • 删除数组中的重复元素[重复]

    这个问题在这里已经有答案了 可能的重复 在 JavaScript 数组中查找重复值的最简单方法 https stackoverflow com questions 840781 easiest way to find duplicate v
  • Java分数计算器

    我对 Java 编程还很陌生 我的 AP 计算机编程课程有作业要完成 所以请耐心等待 我必须弄清楚如何将两个分数相乘 我想知道是否有任何方法可以在方法内部声明变量并在该方法外部使用它 我在介绍方法中的 while 循环 谢谢您 希望这不会令
  • 丰富:数据表行跨度问题

    我需要创建一个 rich dataTable 甚至扩展 具有以下功能 我有一个公司类 其中包含产品对象的集合 我想展示下表 我仍然没有弄清楚如何使用子表执行此操作 在所有示例中 我发现子表具有与主表完全相同的列 据推测 我需要在前两列中使用
  • Java:如何检测(并更改?)System.console 的编码?

    我有一个在控制台上运行的程序 其变音符号和其他特殊字符在 Mac 上以 的形式输出 这是一个简单的测试程序 public static void main String args System out println h h System
  • 使用 JavaScript 更改网址栏中的域名

    有没有办法使用window history pushState或者任何其他js函数来更改地址栏中的整个url 我无法删除根部分 上下文 我的应用程序位于 Heroku 上 网址如下所示http mywebsite herokuapp com
  • Google 地图 v3 信息窗口在地图视口外打开

    如果单击地图视口顶部附近的标记 信息窗口将加载到可视区域之外 并且必须拖动地图才能查看信息窗口内容 理想情况下 我不希望地图自动平移 有没有办法以不同的方向加载信息窗口 例如如果标记位于视口的顶部 则以向下的方向显示信息窗口 不 你不能以不
  • 从 Bigcommerce 的浏览器内存中删除注入的分析库?

    我们如何删除这个脚本注入器系统并清除内存中的函数 简报 最近 Bigcommerce 的不法分子以 监控 为幌子创建了一个分析注入器 JS 该注入器被锁定在全局变量中 他们在未经任何 OP 同意的情况下将其推广到所有 50 000 家前台商

随机推荐

  • Python网络编程:socket包的用法

    持续补充 1 网络编程 网络编程 主要用于两台或多台计算机之间的通信 也可以是同一台计算机内不同进程之间的通信 Socket套接字可以用来实现网络通信 关于Socket套接字 需要注意以下几点 Socket是网络通信中应用层和传输层之间的一
  • dbnet ICPAR2015数据格式json制作

    dbnet json格式制作 说明 json格式 代码 说明 dbnet代码选自https github com WenmuZhou DBNet pytorch 训练时数据集信息以json导入 但是官方ICPAR2015数据集下载数据是tx
  • 20个经典模拟电路(详细图文)

    为电子工程师的你 已经掌握了多少模拟电路呢 还应该掌握多少图纸和原理呢 本文列举了20个最常见的电路 并粗略的推断出不同层次的发烧对线路的不同理解程度 快来对照看看你是哪个程度的电子工程师 一 桥式整流电路 注意要点 1 二极管的单向导电性
  • Django 快速搭建博客 第七节(文章详情页,markdown语法)

    版权声明 更多最新原创文章请访问 最新原创主页 更多最全原创文章请访问 更多原创主页 上一节我们把真正的index html显示出来了 只是一个摘要 接下来我们要做的是当我们点击标题或者继续阅读的时候 会打开详情页 1 base html的
  • 页面之间传递值方法

    方式1 在接收页 的html代码里加上一行 WebForm1 fp WebForm1 Context Handler this TextBox1 Text fp name name 是第一页的public变量 Context 提供对整个当前
  • Kotlin中的字符串比较

    在java中 执行比较运算的操作一般有 和 equals 两个操作符 而且在java中 比较的是两个字符串的引用是否相同 而 equals 则是比较两个字符串的内容是否相同 我们可以通过一个例子来进行一下验证 String a1 ab St
  • devops理论梳理

    devops理论梳理 是什么 维基百科解释 DevOps 开发 Development 与运维 Operations 的组合词 是一种文化 一场运动或实践 强调在自动化软件交付流程及基础设施变更过程中 软件 开发人员与其他信息技术 IT 专
  • 寄存器、缓存、内存之间的区别

    简单的讲 寄存器就是CPU直接拿他里面寄存的东西直接来进行计算操作的 它就是CPU的一部分 寄存器是有限存贮容量的高速存贮部件 它们可用来暂存指令 数据和位址 在中央处理器的控制部件中 包含的寄存器有指令寄存器 IR 和程序计数器 PC 在
  • Web3创新者之夜,与其他开发者一同畅谈波卡生态

    Token2049在即 许多开发者都将在9月中齐聚新加坡 一同讨论区块链生态发展及未来 届时将会有超过1万名与会者 并有超过300个赞助商和项目协助支持本次大会 波卡作为跨链互操作性的龙头生态也将参与至本次盛会之中 为了让波卡社区的成员 贡
  • vue中表单验证特殊字符、数据大小长度、经纬度、数组

    vue中表单验证特殊字符 数据大小长度 经纬度 数组 验证不可输入特殊字符 param rule param value param callback export function checkInputString rule value
  • SQL语言中的连接表

    连接表 包括 内连接 左连接 右连接 全外连接 交叉连接 1 内连接 内连接是SQL Server中最常用的连接之一 内部联接子句用于查询来自两个或多个相关表的数据 语法 在from子句中指定主表 t1 在 inner join 子句和连接
  • fork函数全解析

    从最简单 基础 的一个例子说起 应该说是最基础而不是简单 下面的这个最基础的例子其实并不简单 因为有很多细节 我们需要从fork函数的定义开始说起 man 手册官方定义 this function creates a new process
  • 建立安全连接失败连接到 120.79.9.99:9200 时发生错误。SSL 接收到一个超出最大准许长度的记录。错误代码:SSL_ERROR_RX_RECORD_TOO_LONG

    建立安全连接失败 连接到 120 79 9 99 9200 时发生错误 SSL 接收到一个超出最大准许长度的记录 错误代码 SSL ERROR RX RECORD TOO LONG 因为我是用https访问的需要安全协议只要改为http就行
  • docker运行有数据库连接的springboot项目无法访问

    docker run name tsb p 8808 8080 d testspringboot 8808 8888 前一个数值是访问路径的端口号 后一个数值是上传的jar包中项目设定的端口号 默认8080 访问测试 测试地址 http 1
  • Spark学习笔记(二)

    以下笔记基于对尚硅谷spark教程的学习 Spark版本3 0 目录 什么是 RDD RDD核心属性 执行原理 基础编程 创建环境 RDD 创建 从集合中创建RDD 从文件中创建RDD RDD 转换算子 Value 类型 双Value类型
  • C1认证学习笔记(第一章)

    C1认证 一 计算机通识 进制转换 进制定义 进制之间的转换 任务训练练习 信息单位 单位定义 换算公式 任务训练练习 数据校验 任务背景 奇偶校验 任务训练练习 多媒体基础参数 任务背景 参数定义 计算公式 任务训练练习 HTTP 任务背
  • 【Transformer】12、Do Vision Transformers See Like Convolutional Neural Networks?

    文章目录 一 背景 二 方法 论文链接 https arxiv org pdf 2108 08810 pdf 出处 NeurIPS2021 一 背景 Transformer 现在在视觉方面取得了超越 CNN 的效果 所以作者就有一个问题 T
  • SQL server2019安装教程

    建议 建议给位看官先看完再动手 也可以多搜索其他的文章多看看 心里有数儿了再按照文档执行 有条件的在虚拟机里面跑一遍 下载必备 由于安装文件太大 所以没有办法上传 各位就请自行下载 我尝试着加一下链接SQL引导包的链接 也就是图片中的第二个
  • leetcode#26 Remove Duplicates from Sorted Array

    给定一个排序数组 你需要在原地删除重复出现的元素 使得每个元素只出现一次 返回移除后数组的新长度 不要使用额外的数组空间 你必须在原地修改输入数组并在使用 O 1 额外空间的条件下完成 示例 1 给定数组 nums 1 1 2 函数应该返回
  • JS 数组求和的5种方法(解题报告)

    转自牛客网 题目 题目描述 计算给定数组 arr 中所有元素的总和 输入描述 数组中的元素均为 Number 类型 输入例子 sum 1 2 3 4 输出例子 10 不考虑算法复杂度 用递归做 1 2 3 4 5 6