es6系列教程_ Map詳解以及常用api介紹
ECMAScript 6中的Map類型是一種存儲著許多鍵值對的有序列表。鍵值對支持所有的數(shù)據(jù)類型. 鍵 0 和 ‘0'會被當(dāng)做兩個不同的鍵,不會發(fā)生強(qiáng)制類型轉(zhuǎn)換.
如何使用Map?
let map = new Map();
常用方法:
set( 鍵,值 ): 添加新的鍵值對元素
get( 鍵 ): 獲取鍵對應(yīng)的值,如果這個值不存在,返回undefined
let map = new Map(); map.set( '0', 'ghostwu' ); map.set( 0, 'ghostwu' ); console.log( map.get( '0' ) ); //ghostwu console.log( map.get( 'name' ) ); //undefined;
let map = new Map();
var key1 = {}, key2 = {};
map.set( key1, 'ghostwu' );
map.set( key2, 22 );
console.log( map.get( key1 ) ); //ghostwu
console.log( map.get( key2 ) ); //22
可以用對象做為Map的鍵. 雖然是兩個空對象,但是不會發(fā)生強(qiáng)類型轉(zhuǎn)換.
has( key ): 判斷鍵名是否存在
delete( key ):刪除鍵名以及對應(yīng)的值
clear(): 移除map集合中所有的鍵值對
size: map集合的元素個數(shù)
let map = new Map(); map.set( 'name', 'ghostwu' ); map.set( 'age', 22 ); console.log( map.has( 'name' ) );//true console.log( map.size ); //2 map.delete( 'name' ); console.log( map.has( 'name' ) );//false console.log( map.size ); //1 console.log( map.has( 'age' ) ); //true map.clear(); console.log( map.size ); //0 console.log( map.has( 'age' ) ); //false
Map支持?jǐn)?shù)組初始化,用一個二維數(shù)組,每個數(shù)組用鍵值對的方式
let map = new Map( [ [ 'name', 'ghostwu' ], [ 'age', 22 ] ] ); console.log( map.has( 'name') ); //true console.log( map.has( 'age') ); //true console.log( map.size ); //2 map.set( 'sex', 'man' ); console.log( map.size ); console.log( map.get( 'name' ) ); //ghostwu map.clear(); console.log( map.size ); //0
Map也支持forEach方法,支持2個參數(shù), 第一個:函數(shù),函數(shù)中支持3個參數(shù)( 值,鍵,當(dāng)前map ), 第二個: this
let map = new Map( [ [ 'name', 'ghostwu' ], [ 'age', 22 ] ] );
map.set( 'sex', 'man' );
map.forEach( function( val, key, cur ){
console.log( val, key, cur, this );
}, 100 );

以上這篇es6系列教程_ Map詳解以及常用api介紹就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
- ES6新數(shù)據(jù)結(jié)構(gòu)Map功能與用法示例
- ES6學(xué)習(xí)教程之Map的常用方法總結(jié)
- ES6學(xué)習(xí)筆記之Set和Map數(shù)據(jù)結(jié)構(gòu)詳解
- ES6教程之for循環(huán)和Map,Set用法分析
- 淺談es6 javascript的map數(shù)據(jù)結(jié)構(gòu)
- ES6學(xué)習(xí)筆記之map、set與數(shù)組、對象的對比
- ES6新特性五:Set與Map的數(shù)據(jù)結(jié)構(gòu)實(shí)例分析
- ES6中Set和Map數(shù)據(jù)結(jié)構(gòu),Map與其它數(shù)據(jù)結(jié)構(gòu)互相轉(zhuǎn)換操作實(shí)例詳解
- 詳解ES6中的 Set Map 數(shù)據(jù)結(jié)構(gòu)學(xué)習(xí)總結(jié)
- 詳解ES6中的Map與Set集合
- 一文搞懂ES6中的Map和Set
- ES6 Map結(jié)構(gòu)的應(yīng)用實(shí)例分析
相關(guān)文章
極力推薦10個短小實(shí)用的JavaScript代碼段
這篇文章主要為大家極力推薦10個短小實(shí)用的JavaScript代碼段,幫助大家節(jié)省大量開發(fā)時間,感興趣的小伙伴們可以參考一下2016-08-08
五步輕松實(shí)現(xiàn)JavaScript HTML時鐘效果
這篇文章主要為大家詳細(xì)介紹了五步輕松實(shí)現(xiàn)JavaScript HTML時鐘效果的代碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-11-11
javascript對數(shù)組的常用操作代碼 數(shù)組方法總匯
js下數(shù)組也是比較常用的,對數(shù)組元素的處理也是有非常多的方法,這里整理了下,需要的朋友可以參考下。2011-01-01
關(guān)于javascript解決閉包漏洞的一個問題詳解
閉包在JavaScript高級程序設(shè)計(jì)(第3版)中是這樣描述:閉包是指有權(quán)訪問另一個函數(shù)作用域中的變量的函數(shù),下面這篇文章主要給大家介紹了關(guān)于javascript解決閉包漏洞的一個問題的相關(guān)資料,需要的朋友可以參考下2022-11-11

