map和forEach的区别

今天自己写代码的时候走进了一个小坑特此记一下

数组的map方法是有返回值的.!!!

 var Arr = [1,2,3,4,5,6,7,8];
    var P = Arr.map((index,i,arr)=>{
      var I = index-2;
      return I;
    })
    console.log("P",P)       //是[-1, 0, 1, 2, 3, 4, 5, 6]
    console.log("Arr",Arr)  //[1, 2, 3, 4, 5, 6, 7, 8]
    //此处的P接受map方法运算之后的返回值.接受返回值.
    //但是map方法并不能改变原来的数组

数组的forEach方法是没有返回值得.!!!

 var Arr = [1, 2, 3, 4, 5, 6, 7, 8];
    var sum = 0;
    Arr.forEach(function (index, i, arr) {
    // arr[i] = index*2  如果添加 上这行代码 
    //就会改变原来的额数组的值 用这种方式改变原数组的额值
     sum = index-2
     //沒有返回值
    })
    console.log(sum)//6
     console.log(Arr)
    // [1, 2, 3, 4, 5, 6, 7, 8]
    

你可能感兴趣的:(map和forEach的区别)