摘要:和對(duì)比都是一個(gè)存儲(chǔ)多值的容器,兩者可以互相轉(zhuǎn)換,但是在使用場景上有區(qū)別。可以理解為的方法集合實(shí)例屬性繼承自操作方法遍歷方法和數(shù)組的轉(zhuǎn)換要求雙成員數(shù)組值得注意的是的鍵是跟內(nèi)存綁定的參考文檔和和阮一峰教程
Array和Set對(duì)比
都是一個(gè)存儲(chǔ)多值的容器,兩者可以互相轉(zhuǎn)換,但是在使用場景上有區(qū)別。如下:
Array的indexOf方法比Set的has方法效率低下
Set不含有重復(fù)值(可以利用這個(gè)特性實(shí)現(xiàn)對(duì)一個(gè)數(shù)組的去重)
Set通過delete方法刪除某個(gè)值,而Array只能通過splice。兩者的使用方便程度前者更優(yōu)
Array的很多新方法map、filter、some、every等是Set沒有的(但是通過兩者可以互相轉(zhuǎn)換來使用)
Set操作集合(WeakSet)let set = new Set() // Set轉(zhuǎn)化為數(shù)組 let arr = Array.from(set) let arr = [...set] // 實(shí)例屬性(繼承自Set) set.constructor === Set set.size // 操作方法 set.add(1) // 添加一個(gè)值 set.delete(1) //刪除一個(gè)值 set.has(1) //判斷是否有這個(gè)值(Array中的indexOf) set.clear() //清除所有值 // 獲取用于遍歷的成員方法(Set的遍歷順序就是插入順序) set.keys() // 返回鍵名的遍歷器 set.values() // 返回鍵值得遍歷器 set.entries() // 返回鍵值對(duì)的遍歷器 set.forEach() // 循環(huán)遍歷每個(gè)值(和Array的方法一致) for (let key of set.keys()){} for (let val of set.values()){} for (let entry of set.entries()){} // 使用數(shù)組方法來處理set值 set = new Set(arr) set = new Set([...set].map((x) => x = x * 2)) set = new Set([...set].filter((x) => x > 2))Object和Map對(duì)比
Object是字符串-值,Map是值-值
Object鍵為string類型,Map的鍵是任意類型
手動(dòng)計(jì)算Object尺寸,Map.size可以獲取尺寸
Map的排序是插入順序
Object有原型,所以映射中有一些缺省的鍵。可以理解為Map=Object.create(null)
Map的方法集合let map = new Map() // 實(shí)例屬性(繼承自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和數(shù)組的轉(zhuǎn)換 map = new Map([["key","val"],[2,1]]) // 要求雙成員數(shù)組 let arr = [...map] // 值得注意的是Map的鍵是跟內(nèi)存綁定的 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阮一峰教程
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/115833.html
摘要:和對(duì)比都是一個(gè)存儲(chǔ)多值的容器,兩者可以互相轉(zhuǎn)換,但是在使用場景上有區(qū)別。可以理解為的方法集合實(shí)例屬性繼承自操作方法遍歷方法和數(shù)組的轉(zhuǎn)換要求雙成員數(shù)組值得注意的是的鍵是跟內(nèi)存綁定的參考文檔和和阮一峰教程 Array和Set對(duì)比 都是一個(gè)存儲(chǔ)多值的容器,兩者可以互相轉(zhuǎn)換,但是在使用場景上有區(qū)別。如下: Array的indexOf方法比Set的has方法效率低下 Set不含有重復(fù)值(可以利...
摘要:和對(duì)比都是一個(gè)存儲(chǔ)多值的容器,兩者可以互相轉(zhuǎn)換,但是在使用場景上有區(qū)別。可以理解為的方法集合實(shí)例屬性繼承自操作方法遍歷方法和數(shù)組的轉(zhuǎn)換要求雙成員數(shù)組值得注意的是的鍵是跟內(nèi)存綁定的參考文檔和和阮一峰教程 Array和Set對(duì)比 都是一個(gè)存儲(chǔ)多值的容器,兩者可以互相轉(zhuǎn)換,但是在使用場景上有區(qū)別。如下: Array的indexOf方法比Set的has方法效率低下 Set不含有重復(fù)值(可以利...
摘要:常被用來檢查對(duì)象中是否存在某個(gè)鍵名,集合常被用來獲取已存的信息。返回一個(gè)布爾值,表示該值在中存在與否。集合存放對(duì)象的弱引用,當(dāng)該對(duì)象的其他強(qiáng)引用被清除時(shí),集合中的弱引用也會(huì)自動(dòng)被垃圾回收機(jī)制回收,追蹤成組的對(duì)象是該集合最好的使用方式。 Map和Set都叫做集合,但是他們也有所不同。Set常被用來檢查對(duì)象中是否存在某個(gè)鍵名,Map集合常被用來獲取已存的信息。 Set Set是有序列表,含...
閱讀 2066·2019-08-30 15:53
閱讀 3064·2019-08-30 15:44
閱讀 2914·2019-08-30 14:11
閱讀 2910·2019-08-30 14:01
閱讀 2694·2019-08-29 15:16
閱讀 3719·2019-08-29 13:10
閱讀 1239·2019-08-29 10:56
閱讀 2526·2019-08-26 13:58