ECMAScript 新的資料結構Set

2021-10-25 05:31:34 字數 2376 閱讀 5263

一、ecmascript-新的資料結構set

1. 一種新的資料結構

結構類似於陣列,但是成員的值都是唯一的,沒有重複的值。

let s =

newset([

1,2,

3,2]

)console.

log(s)

// set(3)

2. 常用方法
// add

let s =

newset([

1,2,

3])s.

add(

'test'

)console.

log(s)

// set(4)

// delete

s.delete

('test'

)// 清空

s.clear()

// has 是否包含某乙個數值

s.has

('test'

)// 大小

s.size

3. 遍歷
// 方式一

s.foreach

( item =>

)// 方式二

forof

4. 應用場景
// 1. 陣列去重

let arr =[1

,2,3

,4,5

,1,6

]let s =

newset

(arr)

console.

log(s)

// 合併去重

let arr1 =[1

,2,3

,4]let arr2 =[2

,3,4

,5,6

]let s =

newset([

...arr1,

...arr2]

)console.

log(s)

console.

log(

...s)

// 輸出乙個陣列

console.

log(array.

form

(s))

// 也是乙個陣列

// 交集 set --> array

let arr1 =[1

,2,3

,4]let arr2 =[2

,3,4

,5,6

]let s1 =

newset

(arr1)

let s2 =

newset

(arr2)

let result =

newset

(arr1.

filter

( item => s2.

has(item)))

console.

log(array.

from

(result)

)// 差集

let arr1 =[1

,2,3

,4]let arr2 =[2

,3,4

,5,6

]let s1 =

newset

(arr1)

let s2 =

newset

(arr2)

let result1 =

newset

(arr1.

filter

( item =>

!s2.

has(item)))

let result2 =

newset

(arr2.

filter

( item =>

!s1.

has(item)))

console.

log(

[...result1,

...result2]

)

5. weakset
// weakset只是乙個弱引用

// 與set之間的差別

// weakset裡面只能新增物件

// weakset不可以遍歷

// 應用場景:臨時儲存

let ws =

newweakset()

// 新增乙個物件

ws.add()

// 刪除乙個物件

// 這種方式是無法刪除乙個物件的

ws.delete()

// 這種可以

let obj1 =

ws.add

(obj1)

ws.delete

(obj1)

console.

log(ws)

ECMAScript 新的資料結構Map

一 ecmascript 新的資料結構set 1.一種新的資料結構結構類似於物件,鍵值對的集合。map 結構提供了 值 值 的對應,是一種更完善的 hash 結構實現。let m newmap let obj m.set zhangsan obj 2.常用方法 新增 let m newmap let...

ECMAScript6 新特性 「正則的擴充套件」

es6 允許regexp建構函式接受正規表示式作為引數。第二個引數指定修飾符,如果存在則使用指定的修飾符。var regexp new regexp xyz i,ig console.log regexp.flags gi字串物件的4個使用正規表示式的方法 match replace search ...

微控制器新結

也算是用過一段時間的微控制器,但是當初也就是熟悉了一些模組的使用,對於微控制器的工作原理並不是很了解。而在程式設計過程中,最重要的就是時序!無論是進行儲存器的讀寫,還是進行通訊,只有時序匹配了,才可以寫出 高效的少bug的 而這些恰恰是需要掌握最基礎的東西才能達到的。於是重新學了下mcs51,有了一...