一直使用陣列和物件來定義資料模型,前幾天在翻閱ES6語法的時候,突然發現有一種Map物件對操作鍵值對特別好用,而且程式碼更簡潔明了,簡直太棒了。
今天,我們就來一步步了解什麼是Map對象,詳細跟大家介紹一下Map對象的屬性與方法。希望大家以後再資料操縱方法多一種解決問題的方法,這是ECMA 6 新增的資料結構。
定義
Map物件保存鍵/值對,是鍵/值對的集合。任何值(物件或原始值) 都可以作為一個鍵或一個值。 Object結構提供了「字串—值」的對應,Map結構提供了「值—值」的對應。
語法:
mapObj=new Map([iterable]);
iterable 可以是陣列或其他iterable 對象,其元素或為鍵值對,或為兩個元素的陣列。每個鍵值對都會加入到新的 Map。 null 會被當作 undefined。
Map實例
所有的Map實例都會繼承自Map.prototype。
範例
Map對象類似於對象,也是鍵值對的集合,但是「鍵」的範圍不限於字串,各種類型的值(包括物件)都可以當作鍵。
let a=new Map(); let b={p:'Hello World'}; a.set(b,"content"); a.get(b); //"content" a.has(b) //true a.delete(b) //true a.has(b) //false
作為建構函數,Map也可以接受一個陣列作為參數。此陣列的成員是一個個表示鍵值對的陣列。
let map=new Map(['first','aaaaaa'],['second','bbbbbb']);; map.size(); //2 map.has('first'); //true a.get(b); //'aaaaaa' map.has('second'); //true a.get(b); //'bbbbbb'
以上是js怎麼定義map的詳細內容。更多資訊請關注PHP中文網其他相關文章!