[JavaScript] Map对象

1 前言

  工欲善其事,必先利其器。这是一款以前在前端项目中没有使用过的、有趣的对象,咱来看看如何使用~

2 并非arrayObj.map(function)  

1
2
3
4
//arrayObj.map与arrayObj.forEach方法类似
[].map(function(itemValue, itemIndex, array) {
    // ...
});

3 Map()

3-1 介绍

  集合中的键和值可以是任何类型。如果使用现有密钥向集合添加值,则新值会替换旧值。

1
var mp = new Map();
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
clear
    从映射中移除所有元素。
delete
    从映射中移除指定的元素。
forEach:mapObject.forEach(function(value,key,mapObject){}[, thisArg])
    对映射中的每个元素执行指定操作。
get
    返回映射中的指定元素。
has
    如果映射包含指定元素,则返回 true
set
    添加一个新建元素到映射。
toString
    返回映射的字符串表示形式。
valueOf
    返回指定对象的原始值。

 

3-2 使用

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
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

 

1
2
3
4
5
arrayObject.forEach(
    function(element, index, array){
        //TODO
    }
);

 

 

X 推荐文献

  [1] Js中的Map对象

  [2] 修改IE不兼容MAP()的问题,自定义实现JavaScript的Map对象

  [3] Map - Mozilla

posted @   千千寰宇  阅读(12993)  评论(0编辑  收藏  举报
编辑推荐:
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
阅读排行:
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· 【.NET】调用本地 Deepseek 模型
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
· 上周热点回顾(2.17-2.23)
点击右上角即可分享
微信分享提示