美文网首页
算法题8.28:求和函数

算法题8.28:求和函数

作者: txwslyf | 来源:发表于2017-08-29 08:57 被阅读0次

写一个求和的函数sum,达到下面的效果:
// Should equal 15
sum(1, 2, 3, 4, 5);
// Should equal 0
sum(5, null, -5);
// Should equal 10
sum('1.0', false, 1, true, 1, 'A', 1, 'B', 1, 'C', 1, 'D', 1,
'E', 1, 'F', 1, 'G', 1);
// Should equal 0.3, not 0.30000000000000004
sum(0.1, 0.2);

function sum() {
    let args = Array.prototype.slice.call(arguments)
    let sum = 0
    let max = 0
    let numberArr = []

    args.forEach(function (item) {
        let number
        let match = false
        let length = 0

        //将字符串或者数字转换成Number对象,true,false,null要单独考虑
        // 因为Number(true) === 1,Number(false||null) === 0
        if (item === true || item === false || item === null) {
            number = NaN
        }
        else {
            number = Number(item)
        }

        if (!isNaN(number)) {
            numberArr.push(number)
            match = /[0-9]+\.([0-9]+)/.exec(number.toString())
            if (match) {
                length = match[1].length
            }
            if (length > max) {
                max = length
            }
        }
    })

    numberArr.forEach(function (item) {
        sum = sum + item * Math.pow(10, max)
    })
    sum = sum / Math.pow(10, max)
    return sum
}

相关文章

  • 算法题8.28:求和函数

    写一个求和的函数sum,达到下面的效果:// Should equal 15sum(1, 2, 3, 4, 5);...

  • 剑指Offer算法题-求和

    题目: 求1+2+…+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字以...

  • 【算法题】1927. 求和游戏

    题目: Alice 和 Bob 玩一个游戏,两人轮流行动,Alice 先手 。 给你一个 偶数长度 的字符串 nu...

  • Java 算法 - 约翰的生意(线段树)

    题意 样例 1.解题思路   这是一道非常典型的线段树题。之前我也做过类似的题,Java 算法-区间求和I(线段树...

  • sum函数

    今天学习求和函数(sum函数)。 ①连续的求和函数:=SUM(B1:F9) 不连续求和函数:=sum(B1:C1,...

  • 廖雪峰 | 5.1 返回函数和匿名函数

    返回函数 1,实例1:可变参数求和(1)即时返回求和结果 (2)返回求和函数,调用该函数则得结果 在函数lazy_...

  • 求和函数

    求和函数SUM、SUMIF SUM函数 支持连续或非连续数据求和 单一数据求和 名称框 快速求和ALT+...

  • 求和函数——AND

    大家好,我是本期训练营的五队队员周忠莹。 本次训练营学习大纲: 一、操作与技巧 二、函数与公式 三、数据透视表及图...

  • 求和函数

    1、基本函数 一、区域求和 用SUM 函数,或直接选中区域按Alt = 二、不连续区域 直接用=SUM (区域1,...

  • 求和函数

    越是碎片化时代,越需要系统性学习! 今天跟我们总监说,老板,我加班不能超过八点,我要回去上课了.老大很诧异,每天这...

网友评论

      本文标题:算法题8.28:求和函数

      本文链接:https://www.haomeiwen.com/subject/yqandxtx.html