Set
1.set里面是不能有重复的
2.有长度 有点类似于数组
set.add("aaa") 添加一项
set.delete("aaa") 删除一项
set.has("aaa") 判断set里面是否有这个元素
set.size 这个是属性 表示个数的意思
set.clear() 清空
// 关于循环
for(let item of arr){}
arr.forEach((value,index)=>{})
总结: weakset是不靠谱的 没有size属性 也没有clear属性 只适应set就好了
// 1.先打印出来看一下 是一个类似于数组
let set = new Set(["aaa","bbb","ccc","aaa"])
console.log(set) // Set(3) {"aaa", "bbb", "ccc"}
// 2.使用add来进行添加
let set1 = new Set();
set1.add("aaa")
set1.add("bbb")
console.log(set1) // Set(2) {"aaa", "bbb"}
// 3. 删除 以及 检测 里面是否有值
let set2 = new Set();
set2.add("fffff")
set2.add("ggggg")
set2.add("hhhhh")
set2.add("iiiii")
console.log(set2) // Set(4) {"fffff", "ggggg", "hhhhh", "iiiii"}
set2.delete("iiiii")
console.log(set2) //Set(3) {"fffff", "ggggg", "hhhhh"}
console.log(set2.has("fffff")) // 判断set集合里面是否存在有相关的元素 true
console.log(set2.size) // 3
// 循环
// let arr = ["11","22","33"]
// for(let item of arr){
// console.log(item)
// }
// console.log("-----------------------")
// for(let item of arr.keys()){
// console.log(item)
// }
// console.log("-----------------------")
// for(let item of arr.entries()){
// console.log(item)
// }
let array = [1,2,3,4,5,6,1,2,1,3,4,2,1]
let gg = new Set(array)
console.log(gg)
console.log([...gg]) // 使用...扩展运算符可以直接进行转换
// Set里面也是可以存放对象的
let newSet = new Set();
let json1 = {
a: "apple",
b: "lkij"
}
let json2 = {
a: "banana",
b: "cici"
}
newSet.add(json1)
newSet.add(json2)
newSet.forEach((item,index)=>{
console.log(item.a)
})
Map
map类似于json 但是json的值只能是字符串 map的key值可以是任意值
let map = new Map();
map.set(key,value) 设置值
map.get(key) 根据key得到值
map.delete(key) 删除一项
map.has(key) 判断
map.clear() 清空
总结:Set里面是数组 不重复 没有key没有get方法
map对json功能增强 key值可以是任意类型
JSON.stringify和JSON.parse
JSON.stringify() 从一个对象中解析出字符串
JSON.stringify({"a":"1","b":"2"})
结果是:"{"a":"1","b":"2"}"
JSON.parse()从一个字符串中解析出JSON对象
var str = '{"a":"1","b":"2"}';
JSON.parse(str);
结果是:Object{a:"1",b:"2"}