js中数组求和_多个数组对应项求和

js中数组求和_多个数组对应项求和js数组求和的5种方法题目描述计算给定数组arr中所有元素的总和输入描述:数组中的元素均为Number类型输入例子:sum([1,2,3,4])输出例子:101、不考虑算法复杂度,用递归做:functionsum(arr){varlen=arr.length;if(len==0){return0;}elseif(len==1){returnarr[0

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

js数组求和的5种方法

题目描述

计算给定数组 arr 中所有元素的总和

输入描述:

数组中的元素均为 Number 类型

输入例子:

sum([ 1, 2, 3, 4 ])

输出例子:

10

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

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));
    }
}

2、常规循环

function sum(arr) {
    var s = 0;
    for (var i=arr.length-1; i>=0; i--) {
        s += arr[i];
    }
    return s;
}

3、函数式编程 map-reduce

function sum(arr) {
    return arr.reduce(function(prev, curr, idx, arr){
        return prev + curr;
    });
}

4、forEach遍历:

function sum(arr) {
    var s = 0;
    arr.forEach(function(val, idx, arr) {
        s += val;
    }, 0);
  
    return s;
};

5、eval:

function sum(arr) {
    return eval(arr.join("+"));
};

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/189519.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • pycharm显示没有interpreter_pycharm interpreter为空

    pycharm显示没有interpreter_pycharm interpreter为空在pycharm中创建新project的时候总会遇到interpreterinvalid,需要你去重新配置interpreter打开file-settings之后,选择project-projectinterpreter点击图中的图标,选择showall,可以看到所有的interpreter。可以看到有些interpreter位于c盘,有些位于d盘,有些是invalid。这是因为pycharm有其自己的虚拟机和interpreter,安装在自己的目录下,而c盘的interpr.

    2022年8月27日
    4
  • mysql是mpp数据库_mysql迁移mpp数据库Greenplum[通俗易懂]

    mysql是mpp数据库_mysql迁移mpp数据库Greenplum[通俗易懂]1.场景描述因兄弟项目中mysql有点扛不住了,要做sql优化,但是业务有点小复杂,优化起来有点麻烦(sql嵌套有点多),便想着用Mpp数据库Greenplum测试下,看性能和复杂度怎么样,趟趟水。2.解决方案初步的想法是:因为mysql和postgresql(Greenplum建立在postgresql之上,i’m软件老王)都是使用的标准sql,直接把mysql的建表语句在Greenplum…

    2025年6月14日
    0
  • c#语言_c# ref

    c#语言_c# refStringBuilder用于大量的字符串的修改的地方,比如要大量的连接字符串时,使用它能节省内存空间。StringBuildertestStr=newStringBuilder(“abcdef:ggg”);//testStr.AppendFormat($”{s}”);testStr.Append($”{s}”);intlen=testStr.Length;

    2022年10月21日
    0
  • php 微信授权登录 40029错误[通俗易懂]

    php 微信授权登录 40029错误[通俗易懂]php微信授权登录40029错误授权登录是微信高级api,个人开发可以使用微信测试账号进行开发。在授权的过程可能出现40029错误码,解决的方法可以通过将code写在session里。publicfunctiongetUserDetail(){$appid=”xxxxxxxxxxxx”;$redirect_uri=urlencode(“

    2022年4月29日
    53
  • Linux关闭防火墙端口_防火墙开放端口设置

    Linux关闭防火墙端口_防火墙开放端口设置Linux关闭防火墙命令下面是redhat/CentOs7关闭防火墙的命令!1:查看防火状态systemctlstatusfirewalldserviceiptablesstatus2:暂时关闭防火墙systemctlstopfirewalldserviceiptablesstop3:永久关闭防火墙systemctldisablefirewalldch…

    2022年9月6日
    2
  • 常用的图像处理标准图片(Lena、cameraman等)获取「建议收藏」

    常用的图像处理标准图片(Lena、cameraman等)获取「建议收藏」常用的图像处理标准图片(Lena、cameraman等)获取地址点击此处——>常用的图像处理标准图片

    2022年6月19日
    27

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号