[JavaScript] Map对象
1 前言
工欲善其事,必先利其器。这是一款以前在前端项目中没有使用过的、有趣的对象,咱来看看如何使用~
2 并非arrayObj.map(function)
//arrayObj.map与arrayObj.forEach方法类似
[].map(function(itemValue, itemIndex, array) {
// ...
});
3 Map()
3-1 介绍
集合中的键和值可以是任何类型。如果使用现有密钥向集合添加值,则新值会替换旧值。
var mp = new Map();
clear
从映射中移除所有元素。
delete
从映射中移除指定的元素。
forEach:mapObject.forEach(function(value,key,mapObject){}[, thisArg])
对映射中的每个元素执行指定操作。
get
返回映射中的指定元素。
has
如果映射包含指定元素,则返回 true。
set
添加一个新建元素到映射。
toString
返回映射的字符串表示形式。
valueOf
返回指定对象的原始值。
3-2 使用
var users = new Map();
users.set("johnny",{name:'johnny',age:23,sex:'M'});
users.set("jane",{name:'jane',age:21,sex:'F'});
users.set("mary",{name:'mary',age:24,sex:'F'});
//1.mapObject.forEach
users.forEach(function(key,users){
console.log(key);
});
//2.mapObject的values如何遍历
var iter = users.values();
var values = new Array();
var item = null;
while((item=iter.next()).done!=true){//还未遍历完
values.push(item.value);
item=null;
}
values.forEach(function(val,idx,array){
console.log("["+idx+"] "+JSON.stringify(array[idx]));
});
4 兼容性
IE8+
5 补充: arrayObject.forEach
arrayObject.forEach(
function(element, index, array){
//TODO
}
);
X 推荐文献
[1] Js中的Map对象
[2] 修改IE不兼容MAP()的问题,自定义实现JavaScript的Map对象
[3] Map - Mozilla
本文作者:
千千寰宇
本文链接: https://www.cnblogs.com/johnnyzen
关于博文:评论和私信会在第一时间回复,或直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
日常交流:大数据与软件开发-QQ交流群: 774386015 【入群二维码】参见左下角。您的支持、鼓励是博主技术写作的重要动力!
本文链接: https://www.cnblogs.com/johnnyzen
关于博文:评论和私信会在第一时间回复,或直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
日常交流:大数据与软件开发-QQ交流群: 774386015 【入群二维码】参见左下角。您的支持、鼓励是博主技术写作的重要动力!

浙公网安备 33010602011771号