我深深地记得 ES5 发布的那天,我们喜爱的 Javascript 引入了一些优秀的数组方法,它们是 forEach, reduce, map, filter——这些方法让我们感受到语言不断发展,功能越来越强大...现在,Node.js ,在 V8 引擎上使用最新的 ECMAScript ,争取被认为是主流的服务端开发语言之一。因此,它需要证明在性能方面是高效的。...我用 for , for-of, while, forEach, reduce 比较了在随机的 10万条数据中求和,结果如下:
For Loop, average loop time: ~10...reduce 和 forEach 需要一个执行一个回调函数,这个函数被递归调用并使堆栈"膨胀",以及对执行代码进行附加操作和验证。...用 ES6 的扩展运算操作 [...arr] 和 Array.from, 加上 ES5 的 map 方法,arr.map(x=>x) 性能都不如老方法 arr.slice() 和 连接方法 [].concat