for、forEach( )和map的性能方面

for循环是在有js的时候就有了,forEach和map是es5的时候出来的,单纯从性能上说,map和forEach方法是远远落后for语句的。

for性能最好,其次是forEach,再者是map。

map方法和forEach方法类似,都是对数组进行循环,数组中每一个成员,都被其回调函数处理一次。区别在于map有返回值,而forEach没有返回值。

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

var r = arr.map( (v, i)=>{

return v*2;

} );

console.log(r); // [2,4,6,8,10]

如果在上文代码中,将map换为forEach,那么r的结果就是undefined,其他没区别,所以性能上map稍落后于forEach。

注:map,forEach不能使用break跳出整个循环,不能使用continue跳出本次循环。使用retrun相当于for中的continue的作用,从源码可以看出,结束本次循环的回调函数

猜你喜欢

转载自blog.csdn.net/lbPro0412/article/details/81284096