<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<script type="text/javascript">
/*
set 与 map
set与map他们在js中都是对象 都需要去new 去创建
set只可以存值,往一个set对象中存值相同的值会被丢弃只留下最开始的值与位置,普通的set是有序的他可以直接存入数组数据
map是映射 他是包含 键--值 对
相同的键的值也会被丢弃覆盖
他的键经常是以字符串表存储,但在js可以是一个对象,变量,函数应该也行毕竟函数是特殊的对象不过一般没人这么干
map他是无序的
*/
let arr=[1,2,3,4,7];
let set1=new Set(arr);
let map1=new Map();
map1.set("arr",arr);
console.log(set1,typeof set1);
console.log(map1,typeof map1);
/*************set专场************/
set1.add(4);
set1.add(5);//set的添加元素方法
console.log("查看set中是否有这个元素:"+set1.has(4));//返回布尔值
console.log([...set1]);//用扩展符(...)可以将set集合变成一个普通数组
console.log("可以获取set的大小长度"+set1.size);
console.log("set集合可以被迭代器遍历");
for (let number of set1) {
console.log(number);
}
set1.delete(5)//set的delete方法可以删除set集合中指定的值不是索引的值
set1.clear();//可以清空set集合
/*****************map专场******************/
map1.set(arr,arr);
console.log(map1,typeof map1);
let oop={
name:"面向对象"
}
map1.set(oop,arr);
console.log(map1,typeof map1);
console.log(map1.get(oop));//map是只以键的名来查找值
map1.has();//与上面一样
</script>
</body>
</html>
es6的set(集)与map(映射)
最新推荐文章于 2024-10-01 20:12:28 发布