ES6之Map对象

简介: ES6之Map对象

ES6提供了 Map数据结构。它类似于对象,也是键值对的集合。但是“键”的范围不限于字符串,各种类型的值(包括对象)都可以当作键。

创建方法

let m = new Map()
    console.log(m)

Map的方法

1.set( )

添加元素

接收两个参数,第一个键名,第二个键值

let m = new Map()
    m.set("name","zs")
    m.set("age",18)
    let key = {
        hobby : "爱好"
    }
    m.set(key,["唱","跳","rap","篮球"])
    console.log(m)

2.size

获取元素个数

let m = new Map()
    m.set("name","zs")
    console.log(m.size) //1

3.delete( )

删除元素

let m = new Map()
    m.set("name","zs")
    m.delete("name")
    console.log(m)

4.has( )

利用键名去判断

let m = new Map()
    m.set("name", "zs")
    m.set("age", 18)
    console.log(m.has("name")) //true
    console.log(m.has("hobby")) //false

5.get( )

获取元素

let m = new Map()
    m.set("name","zs")
    console.log(m.get("name")) //zs

6.clear( )

清空

let m = new Map()
    m.set("name","zs")
    m.clear()
    console.log(m)

7.entries( )

返回 Map 对象中键/值对的数组

let m = new Map()
    m.set("name","zs")
    m.set("age",18)
    let key = {
        hobby : "爱好"
    }
    m.set(key,["唱","跳","rap","篮球"])
    console.log(m.entries())

8.keys( )

返回 Map 对象中键的数组

let m = new Map()
    m.set("name","zs")
    m.set("age",18)
    let key = {
        hobby : "爱好"
    }
    m.set(key,["唱","跳","rap","篮球"])
    console.log(m.keys())

9.values( )

返回 Map 对象中值的数组

let m = new Map()
    m.set("name","zs")
    m.set("age",18)
    let key = {
        hobby : "爱好"
    }
    m.set(key,["唱","跳","rap","篮球"])
    console.log(m.values())

10.遍历for…of

let m = new Map()
    m.set("name","zs")
    m.set("age",18)
    let key = {
        hobby : "爱好"
    }
    m.set(key,["唱","跳","rap","篮球"])
    for(let v of m) {
        console.log(v)
    }

11.forEach

返回键和值回调

let m = new Map()
    m.set("name","zs")
    m.set("age",18)
    let key = {
        hobby : "爱好"
    }
    m.set(key,["唱","跳","rap","篮球"])
    m.forEach(item=>{
        console.log(item)
    })

感谢大家的阅读,如有不对的地方,可以向我提出,感谢大家!

相关文章
|
3月前
|
存储 JavaScript 索引
js开发:请解释什么是ES6的Map和Set,以及它们与普通对象和数组的区别。
ES6引入了Map和Set数据结构。Map的键可以是任意类型且有序,与对象的字符串或符号键不同;Set存储唯一值,无重复。两者皆可迭代,支持for...of循环。Map有get、set、has、delete等方法,Set有add、delete、has方法。示例展示了Map和Set的基本操作。
64 3
|
3月前
|
存储 Java
map中存储的是引用,而不是对象本身
该内容是关于Java编程中验证Map存储引用而非复制对象的示例。创建大型List导致内存增加,说明List确实占用空间。通过Person类示例,将不同对象放入Map,改变一个对象的属性后,比较原对象与Map中的键值对,发现两者相等,证明Map保存的是对象引用。
51 5
|
16天前
|
存储 JavaScript 前端开发
ES6新特性(四): Set 和 Map
ES6新特性(四): Set 和 Map
|
1月前
|
存储 JavaScript 前端开发
JavaScript编码之路【ES6新特性之 Symbol 、Set 、Map、迭代器、生成器】(二)
JavaScript编码之路【ES6新特性之 Symbol 、Set 、Map、迭代器、生成器】(二)
32 1
|
1月前
|
存储 JavaScript 前端开发
JavaScript编码之路【ES6新特性之 Symbol 、Set 、Map、迭代器、生成器】(一)
JavaScript编码之路【ES6新特性之 Symbol 、Set 、Map、迭代器、生成器】(一)
21 0
|
2月前
|
Java
Java list中的对象转为list,list中的对象转为map
Java list中的对象转为list,list中的对象转为map
39 1
|
2月前
|
安全 Java
如何测试map对象的线程不安全
【6月更文挑战第20天】如何测试map对象的线程不安全
27 0
|
3月前
|
存储 JavaScript
ES6+新特性-Symbol与Set/Map数据结构
ES6 引入了三种新的数据结构:Symbol、Set和Map。Symbol是唯一且不可变的值,常用于定义对象的独特属性;Set存储不重复值,适合数组去重;Map则是键值对集合,键可为任意类型,提供了更灵活的存储方式。这些新数据结构提供了更高效的操作手段,分别解决了属性命名冲突、数据去重和复杂键值对存储的问题。示例展示了如何使用Symbol、Set和Map进行基本操作。
|
3月前
|
存储 前端开发 索引
【Web 前端】ES6中,Set和Map的区别 ?
【5月更文挑战第1天】【Web 前端】ES6中,Set和Map的区别 ?
|
3月前
|
Java
SpringBoot 项目启动初始化一个Map对象到内存
SpringBoot 项目启动初始化一个Map对象到内存