1.Map构造函数
-
语法:new Map([iterable])
-
iterable->数据类型为一个数组—数组的每个元素为 length为2的数组(存储键值对),每个键值对都会添加到实例化对象中;
-
举例说明
-
const map = new Map([[{name:111}, 111],[null,2]]) console.log('结果', map)
-
0: {Object => 111} key: {name: 111} value: 111 1: {null => 2} key: null value: 2
-
-
2.map对象
-
1.创建map对象
-
[1]空对象
-
const map = new Map()
-
-
[2]创建一个带有值的map对象
-
var map = new Map([[{ name: 111 }, 'tom'], ['age', 12], ['sex', '男']]) console.log(11111111, map)
-
-
-
2.使用set方法添加键值对
-
var map = new Map([[{ name: 111 }, 'tom']]) map.set(111, 'chaochao')
-
-
3.使用get方法获取某个键的值
-
var map = new Map([[{ name: 111 }, 'tom']]) map.set(111, 'chaochao') console.log(11111111, map.get(111)) //chaochao
-
-
4.使用size属性获取键值对的个数
-
var map = new Map([[{ name: 111 }, 'tom']]) map.set(111, 'chaochao') console.log(11111111, map.size) //2
-
-
5.使用hash方法判断该对象中是否存在某属性
-
var map = new Map([[{ name: 111 }, 'tom']]) map.set(111, 'chaochao') console.log(11111111, map.has(111), map.has('111')) //全等比较 true false
-
-
6.使用delete方法删除某个键值对
-
var map = new Map([[{ name: 111 }, 'tom']]) map.set(111, 'chaochao') console.log(111, map) // size=2 map.delete(111) // 删除成功返回值为true,删除失败,返回值为false console.log(222, map) // size=1
-
-
7.使用clear方法清除所有键值对
-
var map = new Map([[{ name: 111 }, 'tom']]) map.set(111, 'chaochao') console.log(111, map) // size=2 map.clear() console.log(222, map) // size=0
-
2.map对象与js对象的异同点
- 相同点
- 都是键值对的集合;
- 不同点
- js对象会将键值全部转化为 字符串;
- map对象的键值可以是任意数据类型;