map类似对象,但是对象的键(key)只能是字符串或者数字等原始值
map的key可以是任何类型
定义一个map结构
new Map()
map(key, value);
向map中添加数据
获取某一个值:
map.get(key)
删除一个值:
map.delete(key)
判断是否有对应的值
map.has(key)
清空map列表:
map.clear()
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title></title>
<link rel="stylesheet" href="">
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
</head>
<body>
</body>
<script>
let map = new Map();
map.set('name', 'ReSword');
console.log(map)
let obj = {
a: 1,
b: 2
}
map.set(obj, 'Object');
console.log(map);
console.log(map.get(obj));
console.log(map.has(obj));
map.delete(obj);
console.log(map);
console.log(map.has(obj));
map.clear();
console.log(map);
</script>
</html>
map循环
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title></title>
<link rel="stylesheet" href="">
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
</head>
<body>
</body>
<script>
let map = new Map();
map.set('name', 'ReSword');
console.log(map)
let obj = {
a: 1,
b: 2
}
map.set(obj, 'Object');
console.log(map);
for (let [key, value] of map) {
console.log(key, value);
}
</script>
</html>
对于map来说,也有map.keys(),map.values(),map.entries()
map的forEach
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title></title>
<link rel="stylesheet" href="">
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
</head>
<body>
</body>
<script>
let map = new Map();
map.set('name', 'ReSword');
console.log(map)
let obj = {
a: 1,
b: 2
}
map.set(obj, 'Object');
console.log(map);
map.forEach((value, key) => {
console.log(value, key);
})
</script>
</html>
和set一样,map也有一个WeakMap
但是WeakMap的key只能是对象