set对象
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
class People {
constructor(name, age) {
this.name = name;
this.age = age;
}
// 存取器
get getName() {
return this.name;
}
set setName(value) {
this.name = value
}
}
// Set是ES6中新增的一个数据结构
// 我们可以认为这是一个不可重复的数组
var arr = [1, 1, 1, 1, 1, 2, 2, 2, 2, {},
[],
function() {}
];
// 利用Set实现数组去重
var set = new Set(arr);
// console.log(set);
// 1 ...语法
// var arr1 = [...set]; //解构出来
// console.log(arr1);
// set.a = 1111;
// 2 自带的方法
// console.log(Set.prototype);
// // 2.1 add 负责往set中添加成员
// set.add(3);
// set.add(4);
// set.add(5);
// console.log(set);
// arr1 = [...set];
// console.log(arr1);
// // 2.2 delete 删除一个成员
// set.delete(1);
// arr1 = [...set];
// console.log(arr1);
// // 2.3 clear 清空
// set.clear();
// 2.4 forEach 用于迭代
// set.forEach(function(value, key) {
// console.log(value, key)
// });
// 2.5 has 用于判断存在 注意 引用类型比较的是地址
// console.log(set.has({}))
// 3 for of 语句
// ES6中新增的专门用于循环迭代器的语法
// for (var i of set) {
// console.log(i)
// }
// console.log(...set);
// var arr = [{}, {}, {}];
// WeakSet 只能够保存引用类型的内容
// var ws = new WeakSet([{}, {}, {}]);
// console.log(ws);
</script>
</body>
</html>