在 Javascript 中轻松添加一组值(例如,没有循环)

Dav*_*vid 4 javascript arrays optimization

我想知道是否有人知道在 javascript 中添加值数组的好方法?

我想出了:

var myArray = [1,2,3,4,5];

var total = eval(myArray.join("+"));
Run Code Online (Sandbox Code Playgroud)

这很好也很简短,但我猜想从 num 到 string 然后通过 evaling 返回到一个数字是一种获得总数的缓慢方法。

And*_*y E 5

最合适的方法是使用 [ Array.prototype.reduce]( https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/reduce ) 函数,这是 ECMAScript 第 5 版中语言的补充:

var myArray = [1,2,3,4,5],
    total   =  myArray.reduce(function (curr, prev) { return curr + prev; });

alert(total);
Run Code Online (Sandbox Code Playgroud)

当然,旧浏览器不支持此功能,因此您可能希望在代码中包含兼容性实现