zoukankan      html  css  js  c++  java
  • 数组求和-JS

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

    输入描述:

    数组中的元素均为 Number 类型

    示例1

    输入

    [ 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("+"));

    };

  • 相关阅读:
    轻量级锁和偏向锁等
    桥接模式
    适配器模式
    建造者模式
    2-工厂模式
    Swift
    给视图添加点击波纹效果swift5
    Xcode 支持真机版本路径
    22个常用开源库(most swift)
    Github上关于iOS的各种开源项目集合
  • 原文地址:https://www.cnblogs.com/strawqqhat/p/10602164.html
Copyright © 2011-2022 走看看