一、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,有了一...