Map和Set
阿新 • • 發佈:2020-07-22
JavaScript的預設使用 {} 來表示物件、集合。
Map是一個帶 鍵 的資料項的集合,類似Object。通常是一個鍵對應一個值。{key:vale}
Set是一個特殊的,只含有鍵(也可以稱為特殊值,我感覺和map中的鍵差不多)的一個集合。{key}
定義Map的方法
let col = new Map;//建立Map col.set("Jucy",60);//使用set方法根據鍵儲存值, col.set("Xiao",88) col.set("Jucy",90)//一個鍵只能對應一個值,如果對用多個值,會把之前的值覆蓋掉 let num = col.get("Xiao")//根據 鍵 來查詢對應的值。 console.log(col); console.log(num); console.log(col.size /** * map.has(key),如果key存在,返回true,否則返回false * map.delete(key),根據key來刪除指定的值 * map.clear(),清空這個map物件 * map.size,返回當前元素的個數 */
Map中的遍歷方法
let map = new Map([//在建立Map物件的時候直接傳進去引數 ["1","這是1"], ["2","這是2"], ["3","這是3"] ]) console.log(map); //map的遍歷方法 for(let i of map.keys()){ //遍歷所有的鍵 console.log(i) }; for(let i of map.values()){//遍歷所有的值 console.log(i) }; for(let i of map.entries()){ //遍歷所有的實體, //這裡 .entries()可以省略,只寫物件名稱預設是遍歷所有實體。 console.log(i) }
定義Set
let set = new Set([1,2,3,3,3,"3",[3]]); console.log(set); //Set(5){1, 2, 3, "3", Array(1)};中間重複的3會被省略掉,但是 不能資料型別的則不會set.add(5) .add(6);//通過add方法來新增鍵,可以鏈式操作 console.log(set);// set.delete(6)//刪除指定key //在Map中的方法同樣也在Set中支援
Set和Map類似,也是一組key的集合,但是不儲存value。所以Set'中的資料是不能夠重複的