1.对象展开
let obj={
a:1,
b:2
}
let obj2={
...obj,
c:3,
d:4
}
剩余参数
let {a,b,...c}=obj2
console.log(a,b,c)
a==>1
b==>2
c==>{c:3,d:4}
let obj2=obj
obj2.a=10
console.log(obj)==>{a:10,b:2} //把obj里面的也改变了 所以建议直接赋值
应该
let obj2={...obj}
obj2.a=10
console.log(obj) ===>{a:1,b:2} // 这样就解决了改变obj2的值不会影响obj的值
2.数组展开
let arr=[1,2,3,4]
let arr2=["a","b",...arr,"c","d"]
console.log(arr2) //["a","b",1,2,3,4,"c","d"]
剩余参数
let [a,b...c]=arr
console.log(a,b) a==> 1,b==>2
console.log(c) c==>[3,4]
set 构造函数 用来构建某一类的对象--对象的实例化
let arr=[1,2,3,4,5]
let s=new Set(arr)
console.log(s) ===>[1,2,3,4,5]
和我们普通的数组有什么区别呢
let arr=[1,2,3,1,4,1,5,2,5]
let s=new Set(arr)
console.log(s) ===>
//打印的结果
Set(6) {1, 2, 3, 4, …}
[[Entries]]
0: 1
1: 2
2: 3
3: 4
4: 5
size: 5
//打印的结果
arr=[...s]
console.log(arr) //结果就是去重后的结果[1,2,3,4,5]
区别就是new set(arr)可以去重
set 方法
size 数据长度
Set.add() 添加子项 返回 set 数据本身
Set.delete() 删除子项 返回 true | false
Set.has() 是否包含子项
网友评论