首页 > 技术文章 > 数组循环的各种方法的区别

yadi001 2020-05-28 16:23 原文

1. forEach

不能使用return中止循环

var arr=[1,3,2,4];
arr.forEach((item,index)=>{
console.log(item);//1 3 2 4,每一项都打印出来了
return;
})

使用break中止循环会报错

var arr=[1,3,2,4];
arr.forEach((item,index)=>{
console.log(item);
break;//报错
})

2.map

map同forEach,但是map可以使用return,改变每一项的值,forEach则没有返回值

var arr = [1, 3, 2, 4];
var newArr = arr.forEach((item, index) => {
return item;
})
console.log(newArr);//undefined,返回值
Map不仅有返回值,还可以进行计算

var arr = [1, 3, 2, 4];
var newArr = arr.map((item, index) => {
return item*2;
})
console.log(newArr);
//[2, 6, 4, 8],

 

 

 

注意..break只可以用在for里面.for in  或者 for of或者 for 都行.不可以用在foreach和map里面.

尤其是在用for的时候.记得把var换成let.

 

推荐阅读