对象结构和数组结构 结构赋值 set map

2020-12-16  本文已影响0人  流泪手心_521

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() 是否包含子项
上一篇下一篇

猜你喜欢

热点阅读