forEach与map区别

456 阅读1分钟

foreach

 let arr=[1,2,3,4]
       arr.forEach((value,index,array)=>{
           console.log(value,index,array)
       })

forEach的参数有3个,分别对应的值是每个元素的值、下标索引、遍历的整个对象

image.png

1:不存在返回值

 let arr=[1,2,3,4]
       let res=arr.forEach((value,index,array)=>{
          return value;
       })
       console.log(res)

执行结果为:undefined 即添加返回值不会起作用

2:不能被中断,即不会因为break而退出

 let arr=[1,2,3,4]
       arr.forEach((value,index,array)=>{
          break;
       }

执行结果会造成系统报错

image.png

map

同样map包含的参数与forEach相同,也是3个,分别对应的值是每个元素的值、下标索引、遍历的整个对象

1:有返回值,默认情况下为undefined

 let arr=[1,2,3,4]
       let res=arr.map((value,index,array)=>{
         return value+1;
       })
       console.log(res)

image.png

let arr=[1,2,3,4]
       let res=arr.map((value,index,array)=>{
       
       })
       console.log(res)

image.png

2:不能被打断

同样与forEach使用方法一样,在map回调函数中加入break会报错