首先介紹一下Set對象
Set
對象是值的集合,你可以按照插入的順序迭代它的元素。 Set中的元素只會出現一次,即 Set 中的元素是唯一的。
語法如下
const set1 = new Set([1, 2, 3, 4, 5]);
console.log(set1.has(1));
// expected output: true
console.log(set1.has(5));
// expected output: true
console.log(set1.has(6));
// expected output: false
運行結果如圖
當我們需要將一個數組去重的時候便可以用set,簡單並快捷
Map對象
普通的object對象是鍵值對的集合,但對於它的鍵卻有着嚴苛的要求,必須是字符串,這樣無論我們傳入的是何類型都會被強制轉換為字符串
Map函數類似於對象,但它是一個更加完美的簡直對集合,鍵可以是任意類型
1.Map基本使用
let m = new Map(); m.set('c', 'content') m.get('c')//content m.size//1 m.has('c') // true m.delete('c') m.has('c') m.clear()
也可以通過構造函數直接生成var map= new Map([["a",1],["b",2]]);參數必須是一個二維數組,每一個數組都由兩個元素組成,組成鍵值對存入Map對象中,null會被當成undefined
2.Map的三個遍歷器
- keys():返回鍵名的遍歷器。
- values():返回鍵值的遍歷器。
- entries():返回所有成員的遍歷器。
-
let map = new Map([ ['F', 'no'], ['T', 'yes'], ]); for (let key of map.keys()) { console.log(key); } // "F" // "T" for (let value of map.values()) { console.log(value); } // "no" // "yes" for (let item of map.entries()) { console.log(item[0], item[1]); } // "F" "no" // "T" "yes" // 或者 for (let [key, value] of map.entries()) { console.log(key, value); }