1. 程式人生 > 實用技巧 >Map和Set

Map和Set

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'中的資料是不能夠重複的