96 lines
2.5 KiB
HTML
96 lines
2.5 KiB
HTML
|
<!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>
|
|||
|
var arr = [1, 1, 2, 2, 3, 3, 3]
|
|||
|
// console.log(arr)
|
|||
|
|
|||
|
let set = new Set(arr)
|
|||
|
// console.log(set)
|
|||
|
set[3] = 2
|
|||
|
// console.log(set)
|
|||
|
// set 作为数据结构,里面的成员都是唯一的
|
|||
|
|
|||
|
let strarr = new Set(["s", "l", "S", "L"])
|
|||
|
// console.log(strarr) //[s,l,S,L]
|
|||
|
strarr.delete("s")
|
|||
|
// console.log(strarr, "new")
|
|||
|
// console.log(strarr.has("L"))
|
|||
|
|
|||
|
for (let i of strarr.keys()) {
|
|||
|
// console.log(i)
|
|||
|
} //for in 会失败
|
|||
|
|
|||
|
for (let i of strarr.values()) {
|
|||
|
// console.log(i)
|
|||
|
}
|
|||
|
//set实例的键和值都是一样的 所以用keys()/values()的时候 遍历得到的结果是一样的
|
|||
|
// entries() 返回键+值
|
|||
|
|
|||
|
for (let i of strarr.entries()) {
|
|||
|
// console.log(i)
|
|||
|
}
|
|||
|
|
|||
|
//Array [ "l", "l" ]
|
|||
|
// Array["S", "S"]
|
|||
|
// Array["L", "L"]
|
|||
|
|
|||
|
|
|||
|
|
|||
|
// 向 Set 加入值的时候,不会发生类型转换,所以5和"5"是两个不同的值。相同字母的大小写也是不同的值
|
|||
|
|
|||
|
//set 属性
|
|||
|
// set.prototype.constructor 构造函数
|
|||
|
// set.prototype.size 返回set实例的值的个数
|
|||
|
|
|||
|
|
|||
|
// set 方法
|
|||
|
// set.prototype.add(要添加的值) 向set实例中添加一个元素
|
|||
|
// set.prototype.delete(删除的值) 删除set实例中的一个元素
|
|||
|
// set.prototype.clear() 清空
|
|||
|
// set.prototype.has(要判断的值) 判断是否在set实例中 返回的是布尔值
|
|||
|
|
|||
|
|
|||
|
|
|||
|
// Array.from(set的实例) 将set实例转成数组
|
|||
|
|
|||
|
|
|||
|
// 数组去重
|
|||
|
// function dedupe(array) {
|
|||
|
// return Array.from(new Set(array));
|
|||
|
// }
|
|||
|
|
|||
|
// dedupe([1, 1, 2, 3]) // [1, 2, 3]
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
// map
|
|||
|
const map = new Map([
|
|||
|
['name', '张三'],
|
|||
|
['title', 'Author']
|
|||
|
]);
|
|||
|
console.log(map)
|
|||
|
|
|||
|
const m = new Map();
|
|||
|
const o = { p: 'Hello World' };
|
|||
|
m.set(o,'content') // m.set(key,value) map实例中能用对象来当键
|
|||
|
|
|||
|
//json 方法:
|
|||
|
// json.stringfy() 对象转成json
|
|||
|
// json.parse() json转对象
|
|||
|
|
|||
|
console.log(m.get(o))
|
|||
|
</script>
|
|||
|
</head>
|
|||
|
|
|||
|
<body>
|
|||
|
|
|||
|
</body>
|
|||
|
|
|||
|
</html>
|