ECMAscript6快速入門-set和map

set

就是一種集合 : 是由一組無序且唯一的項組成
特點:key 和 value 相同,不會重複

1.創建一個set

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

2.屬性

    s.size;

3.方法

    //1.添加
    s.add(value)//添加一個數據,返回set本身
    s.add('a').add('b').add('c')

    //2.刪除
    s.delete(value)//刪除一個數據,返回布爾值,表示是否刪除成功
    s.delete('a')//true
    s.delete('a')//false

    //3.查找
    s.has(value)//判斷是否是set的成員,返回布爾值

    //4.格式化
    s.clear()//清楚所有數據,沒有返回值

    //5.keys()返回鍵名  values()返回值
    console.log(s.keys())//setIterator{1,2,3,'b','c'}
    console.log(s.values())//setIterator{1,2,3,'b','c'}

    //6.entries() 返回鍵值對 
    console.log(s.entries())//setIterator{[1,1],[2,2],[3,3],['b','b'],['c','c']}

    //7.forEach()
    s.forEach(function(key,value,set){
        //body...
    })

Iterator之後會有講解

map

類似字典:用來存儲不重複的key的hash結構,不同於set的是,它是用[鍵,值]的形式來存儲數據的。
也類似與 json (javascrtip對象),json的鍵值只支持字符串string,雖然可以存數值,但是取出來也是string。

var obj1 = {a : 1}
var obj2 = {b : 2}
var obj3 = {}

obj3[obj1] = 1;
obj3[obj2] = 2;
//當鍵是對象的時候,瀏覽器對調用這個對象的toString方法轉成字符串然後存儲
//這時 用map 來存儲最佳
console.log(obj3)//{[object Object]: 2}

1.創建Map

const m = new Map([
    ['a',1],
    ['b',2]
])

2.屬性

    m.size;

3.方法

    /*1.set(key,value)設置鍵名和對應的值,如果已有則會刷新,返回map結構*/
    m.set('c',3).set('d',4)

    m.get(key)//取值 如果找不到返回undefind

    m.delete(key)//刪除,返回布爾值,刪除失敗false

    m.has(key)//判斷是否有某個key

    m.clear()//刪除全部

    keys()返回鍵名  values()返回值
    entries() 返回鍵值對 forEach()

注意事項:

m.set(NaN,1).set(NaN,100);
//在map中 NaN是同一個鍵
//引用數據類型比較的是內存地址
m.set({},1).set({},2);
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章