map()数组遍历

map() 方法对数组的每个元素执行一次给定的函数。只对数组有效

特性

map()返回新数组

语法:

arr.map(callback(currentValue [, index [, array]])[, thisArg])

参数:

arr.map有三个参数,分别是:

1、arr:被遍历的数组

2、callback(currentValue,index,array){句柄}:回调函数,该回调函数接受三个参数:

  A、currentValue:遍历到的当前元素

  B、index:为currentValue的索引

  C、array:被遍历的数组

3、thisArg:指代遍历中this的值

示例:

    let arr = [1, 2,3]
    let newArr=arr.map(function (currentValue, index, ar) {
        console.log(currentValue);//遍历打印1,2,3
        console.log(index);//遍历打印0,1,2
        console.log(ar);//遍历打印三次[1, 2, 3]
        console.log(this)//String {"我就是this的值"};遍历打印三次
        return ar[index]*2
      }, "我就是this的值")
      //输出
      console.log(arr);//[1, 2,3]           未改变源数组
      console.log(newArr);//[2, 4, 6]       返回新数组

 

 map()和forEach()的区别:

1、map()会返回新的数组,而forEach不会返回有意义的值

2、运行速度:map()>forEach()

3、是否改变源数组:map()不改变;forEach()改变

posted on 2020-05-31 22:12  loongw  阅读(3397)  评论(0编辑  收藏  举报

导航