JS ES6新增的Map类型

it2025-10-30  3

众所周知,对象中的键名只能是字符串类型。但是在JS在ES6中呢给我们提供了一种新的类型,Map(集合)。

而Map类型的键名可以为number类型,也可以为string类型,也可以为对象,甚至连function都能作为map的键名。

let map = new Map(); map.set('name', 'Joker'); map.set(function () {}, 'Joker'); map.set({}, 'Joker'); map.set(1,'Joker'); console.log(map);

Map类型查找操作:

let map = new Map([[name, "Joker"]]); console.log(map.get(name)); //Joker

Map类型删除操作:

let map = new Map([[name, "Joker"]]); console.log(map.delete(name)); //true 这个为删除某一个值 console.log(map.clear()); //undefined 这个为清空所有值 console.log(map) //Map(0) {}

Map类型查找某个元素是否存在:

console.log(map.has(name)); //true 返回值为true即查找成功,false即查找失败

获取Map类型的所有键:

.keys()为获取键,.values()为获取值,.entries()为获取键值对

let map = new Map([["name", "Joker"], ["title", "author"]]); console.log(map.keys()); //MapIterator {"name", "title"} console.log(map.values()); //MapIterator {"Joker", "author"} console.log(map.entries()); //MapIterator {"name" => "Joker", "title" => "author"}

Map类型的遍历:

let map = new Map([["name", "Joker"], ["title", "author"]]); for (const [key, value] of map.entries()) { console.log(key, value) }

 

最新回复(0)