ES6語法 資料結構

2021-09-26 02:57:06 字數 3531 閱讀 7151

資料結構

set的用法

weakset的用法

map的用法

weakmap的用法

weakset和weakmap分別是set和map的弱用法

set

//這個特性可以用來去重

let arr =[1

,2,3

,3,4

,4,5

,5,'5'];

let list0 =

newset

(arr)

; console.

log(list0);//

//不做資料型別的轉換,參照'5'

} list.

clear()

; console.

log(

'list'

,list)

;//{}

}for

(let value of list.

values()

)for

(let value of list)

for(

let[key,value]

of list.

entries()

)//add add delete delete clear clear has has

list.

foreach

(function

(item)

)}

weakset

; weaklist.

add(arg)

; console.

log(weaklist)

//報錯

}

map

}

weakmap

; weakmap.

set(o,

123)

; console.

log(weakmap,

get(o)

)//123

}

es5、es6資料結構對比
);

console.

info

('map-array-add'

,map,array)

;//查 //map has // array find

let map_exist = map.

has(

't')

;let array_exist = array.

find

(item=>item.t)

; console.

info

('map-array-find'

,map_exist,array_exist)

//改 //map set // array foreach 迴圈遍歷然後改

map.

set(

't',2)

; array.

foreach

(item=>item.t?item.t=2:

''); console.

info

('map-array-modify'

,map,array)

;//刪 //map delete // array findindex 先找到這個值的索引,然後splice去刪

map.

delete

('t');

let index=array.

findindex

(item=>item.t)

; array.

splice

(index,1)

; console.

info

('map-array-delete'

,map,array)

}

set、array對比
);

array.

push()

console.

info

('set-array'

,set

,array)

;//查

let set_exist =

set.

has(

)//false

let array_exit = array.

find

(item=>item.t)

console.

info

('set-array'

,set_exist,array_exit)

//改set

.foreach

(item=>item.t?item.t=2:

''); array.

foreach

(item=>item.t?item.t=2:

''); console.

info

('set-array'

,set

,array)

//刪set

.foreach

(item=>item.t?

set.

delete

(item):''

);let index = array.

findindex

(item=>item.t)

; array.

splice

(index,1)

; console.

info

('set-array'

,set

,array)

}

map、object、set的對比

;let map =

newmap()

;let

set=

newset()

;let obj =

//增 map.

set(

't',1)

;set

.add

(item)

; obj[

't']=1

console.

info

(map,

set,obj)

//查 console.

info()

//改 map.

set(

't',2)

; item.t =2;

//set儲存資料元素的話,直接修改資料本身,如果沒有的話,使用foreach去遍歷

obj[

't']=2

; console.

log(map,

set,obj)

//刪//map set 語義上都是delete,但set沒有引用的話,需要foreach去遍歷然後刪除

map.

delete

('t');

set.

delete

(item)

;delete obj[

't']

; console.

log(map,

set,obj)

}

ES6語法 set資料結構

set通過new的方式生成,他類似陣列,但不是陣列,他的乙個重要特點便是他的成員是無重複的!無重複的!無重複的!重要的話說三次 const s new set 那麼在建立set的時候可以新增什麼上去呢?1.陣列,獲得乙個屋重複元素的set 如上所示,他得出來的是無重複的 那麼他是不是陣列 答案很明顯...

es6 語法 (陣列擴充套件)

es6為array增加了from函式用來將其他物件轉換成陣列。當然,其他物件也是有要求,也不是所有的,可以將兩種物件轉換成陣列。1.部署了iterator介面的物件,比如 set,map,array。2.類陣列物件,什麼叫類陣列物件,就是乙個物件必須有length屬性,沒有length,轉出來的就是...

ES6 資料結構)

一 set 用法 set 對陣列進行轉化 新增重複元素不會生效 應用 去重複功能 轉化過程不會有資料型別的轉換 新增 刪除 判斷是否存在的方法 讀取 遍歷 的幾種方法 二 weakset 與set的區別 1.weakset 的元素只能是物件 2.weakset 的物件是弱應用 不會檢測是否在其他中用...