-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtest14.html
More file actions
59 lines (57 loc) · 1.49 KB
/
test14.html
File metadata and controls
59 lines (57 loc) · 1.49 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<div id="mydiv"></div>
<p></p>
<script>
// Set和Map数据结构
/***Set的成员是唯一的*****/
const s = new Set();
var ary = [1,23,3,12,32,42,1,23];
ary.forEach(x=>s.add(x));
for(let i of s){
console.log(i);
}
// 数组去重的新方法
console.log([...new Set(ary)]);
// alert(s.size)
let a =new Set([1,2,4,6,7]);
let b =new Set([2,5,6,7,12,42]);
let ab = new Set([...a,...b]);
function showXX(A) {
return b.has(A);
}
let a_b = new Set([...a].filter(showXX));
console.log(ab);
console.log(a_b);
// Map结构
const mydiv = document.getElementById("mydiv");
// const data = {};
// data[mydiv] = "mydiv";
// alert(data[mydiv])
var data = new Map();
// set(key,value),设置键名对应的的键值为value,然后返回整个map结构,所以可以链式操作
data.set(mydiv,"mydiv")
.set(1,"a")
.set(2,"b")
.set(3,"c")
console.log(data);
// data[mydiv] = "mydiv";
var x = data.get(mydiv);
var y = new Object({
name:"1",
sex:"2"
});
console.log(x);
console.log([...data.values()])
//总之,WeakMap的专用场合就是,它的键所对应的对象,可能会在将来消失。WeakMap结构有助于防止内存泄漏。
const weakMap = new WeakMap();
weakMap.set(y,2);
console.log(weakMap);
</script>
</body>
</html>