ES6 Map資料型別

2021-09-29 06:18:55 字數 2904 閱讀 8575

定義:map 物件儲存鍵值對。任何值(物件或者原始值) 都可以作為乙個鍵或乙個值。

語法

new

map(

[iterable]

);

引數

iterable

iterable 可以是乙個陣列或者其他 iterable 物件,其元素為鍵值對(兩個元素的陣列,例如: [[ 1, 『one』 ],[ 2, 『two』 ]])。 每個鍵值對都會新增到新的 map。null 會被當做 undefined。

屬性

map.length 屬性 length 的值為 0 。

兩種map的格式

//定義map第一種格式

456}

//定義map第二種格式

}

示例

使用map物件

var mymap =

newmap()

;var keyobj =

,keyfunc

=function()

, keystring =

"a string"

;// 新增鍵

mymap.

set(keystring,

"和鍵'a string'關聯的值");

mymap.

set(keyobj,

"和鍵keyobj關聯的值");

mymap.

set(keyfunc,

"和鍵keyfunc關聯的值");

mymap.size;

// 3

// 讀取值

mymap.

get(keystring)

;// "和鍵'a string'關聯的值"

mymap.

get(keyobj)

;// "和鍵keyobj關聯的值"

mymap.

get(keyfunc)

;// "和鍵keyfunc關聯的值"

mymap.

get(

"a string");

// "和鍵'a string'關聯的值"

// 因為keystring === 'a string'

mymap.

get();

// undefined, 因為keyobj !== {}

mymap.

get(

function()

)// undefined, 因為keyfunc !== function () {}

map常用屬性和方法

//map常用屬性和方法

//clear()

console.

log(

'delete'

,map.

clear()

,map)

;//{}

}

weakmap與map的區別

//1. weakmap的資料型別只支援物件,weakmap的物件是弱引用

//2. map的一些屬性和方法weakmap是沒有的

; weakmap.

set(o,

123)

; console.

log(weakmap.

get(o));

//123

}

map遍歷

//map遍歷

console.

log(mymap.

get(0)

);//zero

for(

let[key,value]

of mymap)

// 將會顯示兩個log。乙個是"0 = zero"另乙個是"1 = one"

for(

let key of mymap.

keys()

)for

(let value of mymap.

values()

)for

(let

[key,value]

of mymap.

entries()

)//使用 foreach() 方法迭代 map

mymap.

foreach

((value,key)

=>

) mymap.

foreach

((item)

=>

)}

將nan作為map的鍵

nan 也可以作為map物件的鍵。雖然 nan 和任何值甚至和自己都不相等(nan !== nan 返回true),但下面的例子表明,nan作為map的鍵來說是沒有區別的:

var mymap =

newmap()

;mymap.

set(

nan,

"not a number");

mymap.

get(

nan)

;// "not a number"

var othernan =

number

("foo");

//nan

mymap.

get(othernan)

;// "not a number"

ES6 Map集合使用

ecmascript6中的map集合 map型別是一種儲存著許多鍵值對的有序列表,其中鍵名和鍵值支援所有的資料型別 鍵名的判斷是通過呼叫 object.is 方法實現的,所以 5 和 5 被判斷為兩個型別 let map new map map.set name song document.writ...

es6 map常用方法

es6 map常用方法總結 1.map 結構轉為陣列結構 比較快速的方法是結合使用擴充套件運算子 let map new map 1,one 2,two 3,three map.keys 1,2,3 map.values one two three map.entries 1,one 2,two 3...

es6 map 遍歷 筆記

let arr1 1 2,3 let arr2 arr1.map value,key,arr console.log arr1 1,2,3 console.log arr2 1,4,9 map 方法 map,對映,即原陣列對映成乙個新的陣列 map方法接受乙個新引數,這個引數就是將原陣列變成新陣列的...