sets和map
内置数据对象
set
1 | new Set(数据); |
size 属性
set.size
新创建的 Set 数据类型不能使用 length 来获取长度,则使用 size 来获取长度
获取调用它的对象或者数组
has 方法
set.has()
查询某个元素是否在 set 中
add 方法
set.add()
在 set 中添加一个元素
delete 方法
set.delete(‘删除的元素值’)
删除 set 中的一个元素
clear 方法
set.clear()
删除 set 中所有的元素
set 不能使用下标来检索数据
如果你的需求是实际按顺序存储值,并且检索它,那么最好的用法是用数组、
没有必要从 set 中获取值
当然,set 也是可以用 for of 来遍历里面的元素的
也可以用拓展运算符对 set 结构进行解构
map 对象
Map 对象保存键值对,并且能够记住键的原始插入顺序。任何值(对象或者原始数据类型(string,number,…))都可以作为一个键或一个值。
1 | //实例化一个map对象 |
同样,map 对象也能使用 set 对象的方法和属性(size,has()…)
可以使用数组作为 map 的键名
1 | let arr = [1, 2]; |
这里数组名仅仅只是当作键的名字而已
甚至页面元素也可以作为键名来使用
1 | rest.set(document.querySelector("h1"), "你好!"); |
批量添加 map 元素
1 | let end2 = new Map([ |
object 转 map
1 | let obj = { name: "张三", sex: "男", job: "医生" }; |
遍历 map
1 | for (let [index, value] of mpp.entries()) { |
可以用拓展运算符(…)把 map 转换成数组
1 | console.log([...mpp]); |
也可以使用 keys,values,entries 方法
1 | console.log([...mpp.keys()]); |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 朝辞!








