set和map
陣列資料型別:
陣列無名有值
根據下標記錄資料 按照順序記錄
如果需要找到某個資料,必須遍歷整個陣列,查詢資料 時間長
插入,刪除,新增元素 因為陣列是緊密結構 時間長
陣列的元素可以重複,無法讓元素唯一性
陣列有關聯關係,可以根據自身前後找到上下資料
陣列可以知道當前遍歷到什麼地方了
物件資料型別:
key:value 鍵值對 必須有名有值
可以直接根據鍵名獲取到值,不需要遍歷 速度快
鍵名是唯一,如果有相同鍵名會覆蓋,但是值仍然不是唯一
如果查詢值 仍然需要遍歷整個物件查詢 時間長
插入,刪除,新增元素,物件本身是乙個鬆散型結構,因此插入等操作沒有關聯關係,速度非常快
因為鬆散結構,不具備上下資料
物件是沒有長度,所以無法知道現在遍歷到第幾個,是不是最後乙個,是不是開始
set 1.set是乙個不能有重複元素的集合,重複新增無效
2.列表容器,沒有下標,沒有順序,各資料之間沒有關聯
3.新建set:let a=new set()
a.add(value)
新增元素
a.delete(value)
刪除元素
a.has(value)
判斷是否是成員,快速查詢,不需要遍歷
a.clear()
清除所有資料
4.陣列去重
let arr=[1,2,3,1,2,3,1,2,3];
let sets=new set(arr);
arr=array.from(sets);
console.log(arr);
array.from()方法從乙個類似陣列或可迭代物件中建立乙個新的陣列例項
5.遍歷set
由於沒有下標,所以for迴圈跟for in都不行,可以使用for of和foreach
for(let value of a)
a.foreach(function(key,value,s))
6.弱引用列表型別 只能新增物件型別資料
let b=new weakset();
map 1.map型別是有長度的鍵值對資料型別
2.新建map:let b=new map();
b.set(key,value)
新增元素
b.get(key)
獲取元素,可以根據鍵查詢屬性值
b.size
獲取map的成員數
b.has(value)
判斷是否是成員,只能判斷是否有鍵名,不能判斷是否有這個值
b.clear()
清除所有資料
3.遍歷
(1)遍歷物件(map裡所有元素):
for(let obj of b)
(2)遍歷屬性名:
for(let str of b.keys())
(3)遍歷值:
for(let value of b.values())
(4)返回所有成員的遍歷器:
for(let item of b.entries())
(5)foreach遍歷map
b.foreach((v,k,list)=>)
b.foreach(function(prop,value));
4.弱引用鍵值對型別
let b=new weakmap();
ES6 新增Set Map型別
1.set資料結構 1 定義 類似於陣列,但是其成員是唯一的 實現了interator介面 例子 2 set建構函式特性 a.可以接收乙個陣列 b.可以接收所有實現了interator介面的資料結構 例子 3 屬性,size 例子 4 方法 a.add value 新增成員 b.delete val...
ES6資料集合Set Map
1 let set new set 1,2,3,4,4 2 console.log set set size 返回集合的長度 去重後的長度 1 console.log set.size 1 set.add 55 1 set.add mr add 21 1 set.delete 2 1 console...
ES6 陣列和物件
先列乙個要學習內容的大綱,慢慢補齊。es5 中新增的方法 forwhile arr.foreach 迴圈遍歷陣列中的每一位 arr.map 迴圈遍歷陣列中的每一位,並返回乙個新陣列 arr.filter 迴圈遍歷陣列中的每一位,並過濾一些不合要求的元素。arr.some 查詢陣列中符合條件的元素,返...