JavaScript,map数据类型如何使用?map增删改查
发布于 作者:苏南大叔 来源:程序如此灵动~

本文说一下javascript
的基础知识,如何使用map
基础数据类型。map
类型属于类数组的数据类型,属于key
:value
映射类型。本文讨论其定义、添加、删除、查找的过程。

苏南大叔的程序如此灵动博客,记录苏南大叔和计算机代码的故事。测试环境:node@16.14.2
。
定义map
map
其实就是传统的二维数据的一个变形,map的最小单位(二维数据的第二层)必须是两个元素。第一个是key
,第二个是value
。(听起来是不是和其他编程语言里面的dictionary
很类似?) 请先体会下面的定义方式:
当然,也可以一条数据一条数据的进行定义,比如:
输出:

添加和修改,.set
与.get
map
最小单元的第一个值是key
,后面的是value
。以这个为基础,理解下面的两个函数:
.set(key,value)
有两个作用,一个是添加,另外一个是修改。.get(key)
就是获取key
所对应的value
。

如果数字做key
,还要想好到底是带不带引号,是普通数字还是字符型的数字。

删除和清空,.delete
和.clear
.delete(key)
就是删除这个key
以及对应的value
。.clear()
就是删除所有的数据。

判断key
是否存在.has
这里判断是否存在某个key
,是使用.has(key)
来进行判断的。

检测.size
,获取.keys()
和.values()
输出:
可见:.keys()
和.values()
都是个迭代器。

遍历keys
输出内容:

遍历values
输出:

遍历map
内所有数据
输出:
这里确定,map
的最小单元是个array
,相关文章:
https://newsn.net/say/js-type.html

需要特别说明的是:forEach((val,key)=>{})
,是val
在前,key
在后的,似乎与常识认知是不一样的。
然后,有些奇怪的是,下面这种写法居然报错:
分开写就不会报错:
题外话
下面有些不合常理的代码,没报错,但是不合常理。map
类型接收数组的写法,也接收object
的写法(结果同数组)。但是,却和原始的key
同时共存。

这些错误的数据,连.clear()
都无法清除。
删除map
的key
和删除map
的错误写法的数组key
写法不同。

在遍历这件事情上,map
和array
有着同样的forEach()
写法:
相关链接
- https://newsn.net/say/js-reduce.html
- https://newsn.net/say/react-map.html
- https://newsn.net/say/python-tuple.html
结束语
更多javascript
相关经验文章,请点击:


