Map
创建增删
const map = new Map();
map.set("foo", "bar");
console.log(map.get("foo"));
const animalSounds = new Map();
animalSounds.set("dog", "woof");
animalSounds.set("cat", "meow");
animalSounds.set("frog", "ribbit");
console.log(animalSounds.size);
console.log(animalSounds.has("dog"));
animalSounds.delete("dog");
console.log(animalSounds.size);
console.log(animalSounds.has("dog"));
animalSounds.clear();
console.log(animalSounds.size);
索引遍历
usersMap = new Map();
usersMap.set(1, "sally");
usersMap.set(2, "bob");
usersMap.set(3, "jane");
console.log(usersMap.get(1));
usersMap.forEach(function(username, userId) {
console.log(userId, typeof userId);
if (userId === 1) {
console.log("We found sally.");
}
});
for (data of usersMap) {
console.log(data);
}
Map的键的类型可以是object、NaN等等。
const obj, map;
map = new Map();
obj = { foo: 'bar' };
map.set(obj, 'foobar');
obj.newProp = 'stuff';
console.log(map.has(obj));
console.log(map.get(obj));