哪个是更高效的array.forEach或angular.forEach?

时间:2016-06-17 07:13:17

标签: javascript arrays angularjs

array.prototype.forEach

forEach()按升序为数组中的每个元素执行一次提供的回调。对于已删除或未初始化的索引属性(即在稀疏数组上),不会调用它。

来源:https://developer.mozilla.org/enUS/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach

angular.forEach

为obj集合中的每个项目调用迭代器函数一次,该项目可以是对象,也可以是数组。使用iterator(value,key,obj)调用迭代器函数,其中value是对象属性或数组元素的值,key是对象属性键或数组元素索引,obj是obj本身。指定函数的上下文是可选的。

来源:https://docs.angularjs.org/api/ng/function/angular.forEach

但我想知道哪一个更有效率和性能。

1 个答案:

答案 0 :(得分:10)

AngularJS forEach用于实现ES5 forEach(如果可用),这不是最快的,但是因为commit它正在使用最快的for循环。

https://angularjs.de/buecher/angularjs-cookbook/es5-array-functions

  

如果您查看此comparison,您会发现 ES5 forEach实施不是最快的。 AngularJS版本就在此   比较使用ES5 forEach,如果它可用。这是由改变   这commit现在它始终使用最快的循环