一、 构造函数
构造函数(constructor)是一种特殊的方法 。主要用来在创建对象时初始化对象, 即为对象成员变量赋初始值,总与new运算符一起使用在创建对象的语句中 ,这个过程叫做对象的实例化。今天我们的主角Set、Map就是构造函数。
二、 Set
(1)Set对象声明
<script type="text/javascript">
let arr =[1,2,2,3,3,4];
let s = new Set(arr);
console.log(s); //输出 Set{1, 2, 3, 4}
/*
Set:
声明在Set函数声明时,传入数组arr会对此数组进行去重
注:要想获取到去重后的数组只需要 arr=[...s]即可
*/
</script>
(2)Set对象的size属性
<script type="text/javascript">
let arr =[1,2,2,3,3,4];
let s = new Set(arr);
console.log(s.size); //输出 4
/*
size:
Set的个数属性,获取Set元素内容的个数
*/
</script>
(3)Set对象的clear方法
<script type="text/javascript">
let arr =[1,2,2,3,3,4];
let s = new Set(arr);
s.clear();
console.log(s.size); //输出 0
/*
clear:
Set的清空方法,清空Set对象的剩余值,返回值为undefined
*/
</script>
(4)Set对象的delete方法
<script type="text/javascript">
let arr =[1,2,2,3,3,4];
let s = new Set(arr);
s.delete(2);
console.log(s); //输出 Set{1, 3, 4}
/*
delete:
Set的删除方法,删除Set对象某一项的值,返回值为true,fales
*/
</script>
(5)Set对象的add方法
<script type="text/javascript">
let arr =[1,2,2,3,3,4];
let s = new Set(arr);
s.add(5);
s.add(2);// add方法具有去重效果
console.log(s); //输出 Set{1, 2, 3, 4, 5}
/*
add:
Set的添加方法,使Set对象添加某值,具有去重效果,返回值为Set对象
*/
</script>
(6)Set对象的has方法
<script type="text/javascript">
let arr =[1,2,2,3,3,4];
let s = new Set(arr);
console.log(s.has(2)); //输出 true
/*
has:
Set的查找方法,查找Set是否包含某值,返回值为true,fales
*/
</script>
二、 Map
(1)Map对象声明
<script type="text/javascript">
let arr =[
["a",1],
["a",1],
["b",2],
];
let m= new Map(arr);
console.log(m); //输出 Map{"a" => 1, "b" => 2}
/*
Map:
声明在Map函数声明时,传入数组arr会根据键进行去重
注:要想获取到去重后的数组只需要 arr=[...m]即可
*/
</script>
(2)Map对象的size属性
<script type="text/javascript">
let arr =[
["a",1],
["a",1],
["b",2],
];
let m= new Map(arr);
console.log(m.size); //输出 2
/*
size:
Map的个数属性,获取Map元素内容的个数
*/
</script>
(3)Map对象的clear方法
<script type="text/javascript">
let arr =[
["a",1],
["a",1],
["b",2],
];
let m= new Map(arr);
m.clear();
console.log(m.size); //输出 0
/*
clear:
Map的清空方法,清空Map对象的剩余值,返回值为undefined
*/
</script>
(4)Map对象的delete方法
<script type="text/javascript">
let arr =[
["a",1],
["a",1],
["b",2],
];
let m= new Map(arr);
m.delete("a"); //根据 键进行删除
console.log(m); //输出 Map{"b" => 2}
/*
delete:
Map的删除方法,删除Map对象某键值对,返回值为true,fales
*/
</script>
(5)Map对象的set方法
<script type="text/javascript">
let arr =[
["a",1],
["a",1],
["b",2],
];
let m= new Map(arr);
m.set("a",2);
m.set("c",3);// add方法具有去重效果
console.log(m); //输出 Map{"a" => 2, "b" => 2, "c" => 3}
/*
set:
Map的设置方法,使Map对象设置某键值对,具有去重效果(根据键进行去重),返回值为Map对象
*/
</script>
(6)Map对象的get方法
<script type="text/javascript">
let arr =[
["a",1],
["a",1],
["b",2],
];
let m= new Map(arr);
console.log(m.get("a");); //输出 1
/*
get:
Map的获取方法,根据键获取Map对象值,返回值为对应的值
*/
</script>
(7)Map对象的has方法
<script type="text/javascript">
let arr =[
["a",1],
["a",1],
["b",2],
];
let m= new Map(arr);
console.log(m.has("a")); //输出 true
/*
has:
Map的查找方法,查找Map是否包含某键,返回值为true,fales
*/
</script>