ES6 Set 和 Map 資料結構

2022-08-23 22:45:14 字數 2934 閱讀 7003

let set=new set([1,2,1]);

console.log(set);

//

//

add() 增加,返回增加後的set

console.log(set.add(3)); //

//delete() 刪除,返回true或false

console.log(set.delete(2));//

true

//has() 判斷是否存在某一項,返回true或false

console.log(set.has(1));//

true

//clear() 清空

set.clear();

console.log(set);

//{}

//

size 檢視長度

console.log(set.size);//

2

//

for of : key,value相等

let set=new set([1,2,3]);

for(let item of set)

for(let item of set.keys())

for(let item of set.values())

for(let item of set.entries())

set.foreach((value,index)=>)

//

1.陣列去重

let arr=[1,2,3,3,1,2,3,1,2];

let set=new

set(arr);

let newarr=[...set]; //

set 資料結構變成陣列

console.log(newarr);

//[1, 2, 3]

利用陣列的方法

let set=new set([1,2,3]);

let arr=[...set];

arr=arr.map((val)=>);

set=new set(arr);//

//

set裡面只能是陣列

let set=new set();

console.log(set);

//error:#is not iterable

//可以通過add()方法增加

let set=new

set();

let json=;

let json1=;

set.add(json);

set.add(json1);

console.log(set);

set.foreach((item)=> ,

})

//

但是初始不可以增加=new weakset({})

let set=new

weakset();

//uncaught typeerror: #is not iterable

//只能用add增加 ,沒有size屬性

let set=new

weakset();

set.add()

console.log(set);

console.log(set.size);

//undefined

//

不可以直接增加{}

let map=new map(); //

error:#is not iterable

console.log(map);

//通過set設定值

let map=new

map();

map.set('a','asd');

console.log(map);

//

let map=new

map();

let json=;

//set(key,value) 設定值 ,返回設定後的set值

console.log(map.set('a','asd'));//

console.log(map.set(json,'aaa'));//

=> "aaa"}

//get(key)獲取值

console.log(map.get(json));//

aaa//

delete(key) 刪除一項,返回true或false

console.log(map.delete(json));//

true

//has(key) 判斷有沒有,返回true或false

console.log(map.has(json));//

false

//clear() 清空,無返回值

console.log(map.clear());//

undefined

console.log(map);

//{}

for(let [key,value] of map){}//

預設 entries()

for(let key of map.keys()){}

for(let value of map.values()){}

for(let [key,value] of map.entries){}

map.foreach((value,index)=>{});

let map=new

weakmap();

let json=;

map.set(json,1);

map.set('a',1);//

uncaught typeerror: invalid value used as weak map key

console.log(map);

es6 Set 和Map 資料結構

es6提供了新的資料結構set,它類似於陣列,但是成員的值都是唯一的,沒有重複的值。set 本身是乙個資料結構,用來生成set 資料結構。const s new set 2,3,5,4,5,2,2,2 foreach x s.add x for let i of s 2 3 5 4 set 函式可以...

es6 set和map資料結構解析

set本身是乙個建構函式,用來生成set資料結構 就像array本身是乙個建構函式,用來生成陣列資料結構 set裡面的值不可以重複 進而引申出陣列去重的方法,new set 1,2,33,3,3,4,set也可以接收物件作為引數 function fin let s newset fin 5和 5 ...

ES6 Set與Map資料結構

set 例項的屬性和方法 set類似與陣列,但是成員值唯一沒有重複!let arr 3,5,2,2,5,5 let unique new set arr 3,5,2 set 結構的例項有以下屬性。set 例項的方法分為兩大類 操作方法 用於運算元據 和遍歷方法 用於遍歷成員 四個操作方法 四個遍歷方...