ES6之Set,Map及陣列,物件資料型別

2021-10-05 06:41:16 字數 1740 閱讀 3744

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 查詢陣列中符合條件的元素,返...