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 返回到一个数字是一种获得总数的缓慢方法。
最合适的方法是使用 [ 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)
当然,旧浏览器不支持此功能,因此您可能希望在代码中包含兼容性实现。