一行代码实现sum求和函数

1,463 阅读1分钟

假设存在函数sum,求多个值的和

function sum(){
    ...
}
sum(1,2)
sum(1,2,3)
sum(1,2,'a')

分析

  • 传递实参个数不确定
  • 传递的值数据类型不定(是否为有效数字)
  • 目的:把有效数字进行相加

function实现

function sum3() {
    let total = null
    for (let i = 0; i < arguments.length; i++) {
        total = total + arguments[i];
    }
    return total
}

一行代码实现sum求和函数

let sumES6 = (...args) => eval(args.join('+'))

join()方法将数组中所有元素连接为一个字符串MDN Web Doc - join

eval() 函数会将传入的字符串当做 JavaScript 代码进行执行。MDN Web Doc - eval