webveuje/teaching/jwl/课件/es6/setmap.html

53 lines
1.8 KiB
HTML
Raw Normal View History

2021-04-09 08:36:34 +00:00
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script>
// console.log(arr[2])
var arr1=[1,2,3,4,2,1]
// console.log(arr1[2])
var arr=new Set([1,2,3,4,2,1])
arr.add("pplo")
var you=arr.has(2)
// console.log(you)
arr.delete(1)
// console.log(arr) //[1,2,3,4]
function clearall(){
arr.clear()
console.log(arr,"drop")
}
// set的遍历 因为set类型不能用 索引访问 而且他属于iterable类型 所有属于iterable类型的都能用for of遍历
// set遍历是可以用for of的
// for(let i of arr){
// console.log(i)
// }
// set和数组的区别
// 1. set数据结构会过滤掉重复的元素
// 2. set不能按照数组的索引值直接获取 数组能按照索引值获取值
// 3.数组的创建方式有很多种但是set数据结构的创建方式只有一种 这个创建方式就是 new Set
// console.log(arr.size)
let arrs=Array.from(arr)
// console.log(arrs)
// console.log(arrs[2])
// map : 它类似于对象也是键值对的集合但是“键”的范围不限于字符串各种类型的值包括对象都可以当作键。也就是说Object 结构提供了“字符串—值”的对应Map 结构提供了“值—值”的对应,
var map1=new Map()
var obj={name:"asd"}
map1.set(obj,"这是值")
console.log(map1)
</script>
</head>
<body>
<button onclick="clearall()">清空</button>
</body>
</html>