博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
遍历map的方法
阅读量:6831 次
发布时间:2019-06-26

本文共 1386 字,大约阅读时间需要 4 分钟。

概述

map() 方法返回一个由原数组中的每个元素调用一个指定方法后的返回值组成的新数组。

语法

array.map(callback[, thisArg])

array.map(function(value,index,array){

  return 要放入新数组的值

})

参数

function    原数组中的元素经过该方法后返回一个新的元素。value    callback 的第一个参数,数组中当前被传递的元素。index    callback 的第二个参数,数组中当前被传递的元素的索引。(常忽略)array    callback 的第三个参数,调用 map 方法的数组。thisArg    执行 callback 函数时 this 指向的对象。

callback 函数会被自动传入三个参数:数组元素,元素索引,原数组本身。

描述

map 方法会给原数组中的每个元素都按顺序调用一次 callback 函数。callback 每次执行后的返回值组合起来形成一个新数组。callback 函数只会在有值的索引上被调用;那些从来没被赋过值或者使用 delete 删除的索引则不会被调用。

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

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

 

map和array的区别:

array实例:

var list = new Array();list.push("h");list.push("h");list.push("h");//获取第二个数list[1];

 

map实例:

var list = new Map();list.put("1","h");list.put("2","h");list.put("3","h");//获取key值为"2"的value值list.2;或list["2"]

 

写一个map生成新数组的例子吧:

If(!Array.prototype.map)    var arr=[1,2,3,4,5];    var newArr=arr.map(function(value,index,array){        return value*2;    });console.log(String(arr));//1,2,3,4,5原数组console.log(String(newArr));//2,4,6,8,10新数组

 

有个大牛写的map实现原理,还没怎么看明白,先贴出来吧,欢迎指正切磋。

1   if(!Array.prototype.map){ 2       Array.prototype.map=function(callback){ 3         var result=[]; 4         for(var i=0;i

 

转载于:https://www.cnblogs.com/zhangym118/p/5897323.html

你可能感兴趣的文章
Performance Tuning MySQL
查看>>
【WP8】让TextBox文本支持滑动(Scroll)
查看>>
在IIS上创建FTP服务
查看>>
Orchard之在前台显式一个属于自己的列表
查看>>
openfire文件夹
查看>>
Eclipse下快速打开本地文件的插件easy explore
查看>>
uva216 Getting in Line
查看>>
黑龙潭,一个夏日亲子游的好地方
查看>>
编译安装 nginx的http_stub_status_module监控其运行状态
查看>>
双绞线的制作,T568A线序,T568B线序
查看>>
strcat的几种实现及性能比较
查看>>
Apache Spark技术实战之1 -- KafkaWordCount
查看>>
Add Binary Leetcode java
查看>>
缓存使用的一些注意事项
查看>>
将cocos2dx项目从VS移植到Eclipse
查看>>
android 屏幕适配原则
查看>>
plot sin 动态配置rc settings
查看>>
一次解决页面特效问题的排查记录
查看>>
Shopilex - 开源免费网店系统
查看>>
ubuntu14.04 安装搜狗输入法
查看>>