您的位置:首页 > 其它

Array.prototype.map()的用法

2016-10-31 00:54 295 查看
map()
 方法返回一个由原数组中的每个元素调用一个指定方法后的返回值组成的新数组。

array.map(callback[, thisArg])


  注:[]在语法中[]内的内容表示可选参数

callback
原数组中的元素经过该方法后返回一个新的元素。

 

currentValue


 

callback
 的第一个参数,数组中当前被传递的元素。

index


callback
 的第二个参数,数组中当前被传递的元素的索引。

array


callback
 的第三个参数,调用 
map
 方法的数组。

thisArg
执行 
callback
 函数时 
this
 指向的对象。

    如果 
thisArg
 参数有值,则每次 
callback
 函数被调用的时候,
this
 都会指向 
thisArg
 参数上的这个对象。如果省略了 
thisArg 
参数,
或者赋值为 null
 或 
undefined
,则 this 指向全局对象 。

map 
不修改调用它的原数组本身(当然可以在 
callback
 执行时改变原数组)。

使用 map 方法处理数组时,数组元素的范围是在 callback 方法第一次调用之前就已经确定了。在 map 方法执行的过程中:原数组中新增加的元素将不会被 callback 访问到;若已经存在的元素被改变或删除了,则它们的传递到 callback 的值是 map 方法遍历到它们的那一时刻的值;而被删除的元素将不会被访问到。

  

1  <script type='text/javascript'>
2         var arr = [1,8,5,3,2,8];
3         var arr1 = arr.map(function (value) {
4             arr.push(5);
5             return value*3;
6         })
7         console.log(arr1);
8         console.log(arr);
9     </script>


这里是输出的值,可以看出,在执行函数的时候给数组添加的值,是不会被访问到的
[3, 24, 15, 9, 6, 24]
[1, 8, 5, 3, 2, 8, 5, 5, 5, 5, 5, 5]


 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: