ES6數據集合 set 和 map

set

set 相似於數組,沒有重複的元素,開發中可用於 去重操做,它的key和value相等

初始化一個set集合javascript

let set = new Set([1,2,3,4,4]);
console.log(set); // Set { 1, 2, 3, 4 }
  • 一個屬性java

    size數組

    返回集合的長度(去重後的長度)
    console.log(set.size) // 4
  • 四個方法code

    • add()對象

      添加一個元素
      set.add('小明')
      鏈式添加多個元素
      set.add('小明').add('小華')
    • delete()ip

      刪除一個元素
      set.delete('小明')
  • has()開發

    判斷set集合中是否存在該元素 返回true/false
    set.has('小明');
  • clear()字符串

    清除set集合中的全部元素
    set.clear()
    沒有返回值
    console.log(set.clear())  // undefined

map

map相似於對象,本質上是鍵值對的集合。字符串、對象均可以看成鍵

初始化一個map集合get

let map = new Map(
  [
    ['name', '張三'],
    ['age', 14],
    ['age', 12],
  ]
)
能夠去重,上述代碼中的age將被覆蓋成12

注意事項:console

去重只針對於map集合的鍵是基本數據類型。對於Object這種複雜的數據類型不去重

let map = new Map(
  [
    ['name', '張三'],
    ['age', 14],
    ['age', 12],
    [{}, '123'],
    [{}, '456'],
  ]
)
  • 屬性

    • size (去重後的長度)
    console.log(map.size)
  • 一些方法

    • set()

      設置鍵值對
      map.set('height', 1.78)
    • get()

      經過鍵名獲取元素
      console.log(map.get('height')); // 1.78
    • delete()

      刪除一個鍵值對
      map.delete('height')
    • has()

      判斷是否有該鍵值
      console.log(map.has('height'));
    • clear()

      清除map集合中的數據
      map.clear()
    • keys(), values(), entries()

      console.log(map.keys()); // [Map Iterator] { 'name', 'age' }
      console.log(map.values()); // [Map Iterator] { '張三', 12 }
      console.log(map.entries()); // [Map Iterator] { [ 'name', '張三' ], [ 'age', 12 ] }

對map進行遍歷

map.forEach((value, index) => {
   console.log(value);
   console.log(index);
 })
相關文章
相關標籤/搜索