Set(存放唯一的值)
- Set 的屬性和方法
let arr = [1,1,2,2,3,3,4,4];
let set1 = new Set(arr);
//1.獲取Set長(zhǎng)度——size,跟數(shù)組的 length相似
console.log(set1.size);//4
//2.給Set添加元素——add(),跟數(shù)組的push相似
set1.add(5);
console.log(set1);//{1, 2, 3, 4, 5}
//3.刪除Set元素——delete();
set1.delete(2);
console.log(set1);//{1, 3, 4, 5}
//4.判斷元素是否在Set中——has();
console.log(set1.has(2));//false
console.log(set1.has(4));//true
//5.清空Set——clear();
console.log(set.clear());
Set本質(zhì)上也是對(duì)象,跟數(shù)組類似,但是Set中沒(méi)有重復(fù)的元素,如果有,則自動(dòng)刪除
let arr = [1,1,2,2,3,3,4,4];
let set1 = new Set(arr);
console.log(arr);//[1, 1, 2, 2, 3, 3, 4, 4]
console.log(set1);//Set(4) {1, 2, 3, 4}
- Set數(shù)組去重
let arr = [1,1,2,2,3,3,4,4];
let set1 = new Set1(arr);
arr = Array.from(set1);//set轉(zhuǎn)數(shù)組 Array.from();
console.log(arr);// [1, 2, 3, 4]
Map
Map跟對(duì)象類型幾乎一模一樣,也是一種鍵值對(duì)的組合,但是Map鍵(key)可以是任何類型,包括數(shù)組和對(duì)象
- Map 的屬性和方法
//1.聲明Map
let myMap = new Map();
//2.設(shè)置元素 set();
myMap.set(arr,'數(shù)組');
myMap.set(obj,123);
myMap.set(123,true);
//3.獲取Map長(zhǎng)度 size
console.log(myMap.size);//3
//4.獲取指定key的value get();
console.log(myMap.get(obj));//123
//5.根據(jù)指定的key刪除元素 delete()
console.log(myMap.delete(arr));
console.log(myMap);
//6.根據(jù)指定key查找元素 has();
console.log(myMap.has(obj));//true
console.log(myMap.has(arr));//false(已經(jīng)被刪除)
//7.刪除Map中所有元素
console.log(myMap.clear());
- Map 拓展
//1.Map中的遍歷器(迭代器) keys();輸出Map中所有的key
//2.values();輸出Map中所有的value
//3.entries();同時(shí)輸出Map中的key和value
- 使用 forEah循環(huán)Map
myMap.forEach(value.key) =>{
console.log(value,key);
//第一個(gè)參數(shù)是value
//第二個(gè)參數(shù)是 key
//與參數(shù)名交什么無(wú)關(guān)
}