摘要:和對比都是一個存儲多值的容器,兩者可以互相轉換,但是在使用場景上有區別。可以理解為的方法集合實例屬性繼承自操作方法遍歷方法和數組的轉換要求雙成員數組值得注意的是的鍵是跟內存綁定的參考文檔和和阮一峰教程
Array和Set對比
都是一個存儲多值的容器,兩者可以互相轉換,但是在使用場景上有區別。如下:
Array的indexOf方法比Set的has方法效率低下
Set不含有重復值(可以利用這個特性實現對一個數組的去重)
Set通過delete方法刪除某個值,而Array只能通過splice。兩者的使用方便程度前者更優
Array的很多新方法map、filter、some、every等是Set沒有的(但是通過兩者可以互相轉換來使用)
Set操作集合(WeakSet)let set = new Set() // Set轉化為數組 let arr = Array.from(set) let arr = [...set] // 實例屬性(繼承自Set) set.constructor === Set set.size // 操作方法 set.add(1) // 添加一個值 set.delete(1) //刪除一個值 set.has(1) //判斷是否有這個值(Array中的indexOf) set.clear() //清除所有值 // 獲取用于遍歷的成員方法(Set的遍歷順序就是插入順序) set.keys() // 返回鍵名的遍歷器 set.values() // 返回鍵值得遍歷器 set.entries() // 返回鍵值對的遍歷器 set.forEach() // 循環遍歷每個值(和Array的方法一致) for (let key of set.keys()){} for (let val of set.values()){} for (let entry of set.entries()){} // 使用數組方法來處理set值 set = new Set(arr) set = new Set([...set].map((x) => x = x * 2)) set = new Set([...set].filter((x) => x > 2))Object和Map對比
Object是字符串-值,Map是值-值
Object鍵為string類型,Map的鍵是任意類型
手動計算Object尺寸,Map.size可以獲取尺寸
Map的排序是插入順序
Object有原型,所以映射中有一些缺省的鍵。可以理解為Map=Object.create(null)
Map的方法集合let map = new Map() // 實例屬性(繼承自Map) map.constructor === Map map.size // 操作方法 map.set(1,2) map.get(1) map.delete(1) map.has(1) map.clear() // 遍歷方法 map.keys() map.values() map.entries() map.forEach() // Map和數組的轉換 map = new Map([["key","val"],[2,1]]) // 要求雙成員數組 let arr = [...map] // 值得注意的是Map的鍵是跟內存綁定的 map.set([1], "s") map.get([1]) let arr = [1] let arr1 = [1] map.set(arr, "s") map.get(arr) map.set(arr1, "s") map.get(arr1)參考文檔
Array
Set和Map
Set和Map阮一峰教程
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/52043.html
摘要:和對比都是一個存儲多值的容器,兩者可以互相轉換,但是在使用場景上有區別。可以理解為的方法集合實例屬性繼承自操作方法遍歷方法和數組的轉換要求雙成員數組值得注意的是的鍵是跟內存綁定的參考文檔和和阮一峰教程 Array和Set對比 都是一個存儲多值的容器,兩者可以互相轉換,但是在使用場景上有區別。如下: Array的indexOf方法比Set的has方法效率低下 Set不含有重復值(可以利...
摘要:和對比都是一個存儲多值的容器,兩者可以互相轉換,但是在使用場景上有區別。可以理解為的方法集合實例屬性繼承自操作方法遍歷方法和數組的轉換要求雙成員數組值得注意的是的鍵是跟內存綁定的參考文檔和和阮一峰教程 Array和Set對比 都是一個存儲多值的容器,兩者可以互相轉換,但是在使用場景上有區別。如下: Array的indexOf方法比Set的has方法效率低下 Set不含有重復值(可以利...
摘要:常被用來檢查對象中是否存在某個鍵名,集合常被用來獲取已存的信息。返回一個布爾值,表示該值在中存在與否。集合存放對象的弱引用,當該對象的其他強引用被清除時,集合中的弱引用也會自動被垃圾回收機制回收,追蹤成組的對象是該集合最好的使用方式。 Map和Set都叫做集合,但是他們也有所不同。Set常被用來檢查對象中是否存在某個鍵名,Map集合常被用來獲取已存的信息。 Set Set是有序列表,含...
閱讀 1998·2021-09-30 09:53
閱讀 1841·2021-09-24 09:48
閱讀 1755·2019-08-30 14:01
閱讀 2170·2019-08-29 18:35
閱讀 1249·2019-08-26 18:27
閱讀 2979·2019-08-26 12:12
閱讀 942·2019-08-23 17:16
閱讀 932·2019-08-23 15:31