js求和算法研究

如果遇到一个试题是这样。

function sum(arr){
        //求和    
}

你会怎么做?

反正我第一反应是这样做。

function sum(arr){
            var result = 0;
            for(var i in arr){
                result += arr[i];
            }
            return result;
        }

然而直到昨天我才发现大神的另一种极简做法。

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

一句话OK,是不是很厉害。

简单解读下。

join函数就不用解释吧,拼接字符串。这里用join把传入的数组拼接成用“+”号连接的字符串。然后用eval函数计算拼接后的字符串。

这样做极大的节省了内存,且在计算时间大大缩短。

原文地址:https://www.cnblogs.com/MirageFox/p/5557928.html