先看demo
var arr = [0,1,2,3,4];
var sum = 0;
var sum2 = 0;
var str = arr.forEach((item,index,arr)=>{
sum += item;
if(sum == 10){
return ++item;
}
console.log("sum的值为:"+sum);
return ++item;
});
console.log("str:"+str);
console.log("arr"+arr);
var str2 = arr.map((item,index,arr)=>{
sum += item;
if(sum == 10){
return ++item;
}
console.log("sum的值为:"+sum);
return ++item;
});
console.log("str:"+str2);
console.log("arr:"+arr);
结果
> sum的值为:0
> sum的值为:1
> sum的值为:3
> sum的值为:6
> str:undefined
> arr0,1,2,3,4
> sum的值为:11
> sum的值为:13
> sum的值为:16
> sum的值为:20
> str:1,2,3,4,5
> arr:0,1,2,3,4
结论:
1、map和forEach都可以做遍历
2、map对于return的返回值会组成一个新的数组,而forEach不会
3、return都不会导致循环的结束,如果想结束,需要抛异常才行
4、