SOURCE

let sm=[
    ["name","tom"],
    ["age","12"]
]
let map1=new Map(sm)
console.log(map1.size)

map1.set(1,12)
console.log(map1.size)
console.log(map1.get(1))
console.log(map1.has(1),map1.has("name"))



// Maps 和 Objects 的区别
// (1)一个 Object 的键只能是字符串或者 Symbols,但一个 Map 的键可以是任意值。
// (2)Map 中的键值是有序的(FIFO 原则),而添加到对象中的键则不是。
// (3)Map 的键值对个数可以从 size 属性获取,而 Object 的键值对个数只能手动计算。
// (4)Object 都有自己的原型,原型链上的键名有可能和你自己在对象上的设置的键名产生冲突。


// 1. size 属性
// size属性返回 Map 结构的成员总数。
// 		console.log(maparr.size);//2
// 1
// 2. Map.prototype.set(key, value)
// 给map集合添加键值。
// set方法设置键名key对应的键值为value,然后返回整个 Map 结构。如果key已经有值,则键值会被更新,否则就新生成该键。
// set方法返回的是当前的Map对象,因此可以采用链式写法。
// 注意对象是引用类型值的情况
// 3. Map.prototype.get(key)
// get方法通过键获取值,如果找不到key,返回undefined。
// 4. Map.prototype.has(key)
// has方法返回一个布尔值,表示某个键是否在当前 Map 对象之中。
// 5. Map.prototype.delete(key)
// delete方法根据键删除某个值,成功返回true。如果删除失败,返回false。
// 6. Map.prototype.clear()
// clear方法清除所有成员,没有返回值。

console 命令行工具 X clear

                    
>
console