es6系列教程_ Map詳解以及常用api介紹
ECMAScript 6中的Map類型是一種存儲著許多鍵值對的有序列表。鍵值對支持所有的數(shù)據(jù)類型. 鍵 0 和 ‘0'會被當(dāng)做兩個(gè)不同的鍵,不會發(fā)生強(qiáng)制類型轉(zhuǎn)換.
如何使用Map?
let map = new Map();
常用方法:
set( 鍵,值 ): 添加新的鍵值對元素
get( 鍵 ): 獲取鍵對應(yīng)的值,如果這個(gè)值不存在,返回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的鍵. 雖然是兩個(gè)空對象,但是不會發(fā)生強(qiáng)類型轉(zhuǎn)換.
has( key ): 判斷鍵名是否存在
delete( key ):刪除鍵名以及對應(yīng)的值
clear(): 移除map集合中所有的鍵值對
size: map集合的元素個(gè)數(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ù)組初始化,用一個(gè)二維數(shù)組,每個(gè)數(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個(gè)參數(shù), 第一個(gè):函數(shù),函數(shù)中支持3個(gè)參數(shù)( 值,鍵,當(dāng)前map ), 第二個(gè): 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)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- 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)文章
JavaScript中數(shù)組隨機(jī)排序的實(shí)現(xiàn)詳解
這篇文章主要為大家詳細(xì)介紹了JavaScript中數(shù)組隨機(jī)排序的實(shí)現(xiàn),主要是利用原地算法和sort/shuffle算法,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2022-11-11如何確保JavaScript的執(zhí)行順序 之實(shí)戰(zhàn)篇
我曾在文章《如何在多個(gè)頁面使用同一個(gè)HTML片段 - 續(xù)》的最后提到JavaScript順序執(zhí)行的特性。雖然現(xiàn)代瀏覽器可以并行的下載JavaScript(部分瀏覽器),但考慮到JavaScript的依賴關(guān)系,他們的執(zhí)行依然是按照引入順序進(jìn)行的。2011-03-03js編寫trim()函數(shù)及正則表達(dá)式的運(yùn)用
js中本身是沒有trim函數(shù)的,不過你可以自己寫一個(gè),下面的實(shí)現(xiàn)方法是用到了正則表達(dá)式,效率不錯,并把這三個(gè)方法加入String對象的內(nèi)置方法中去2013-10-10JS獲取當(dāng)前日期和時(shí)間的簡單實(shí)例
這篇文章主要介紹了JS獲取當(dāng)前日期和時(shí)間的簡單實(shí)例,有需要的朋友可以參考一下2013-11-11JS中關(guān)于ES6?Module模塊化的跨域報(bào)錯問題解決
這篇文章主要介紹了JS中關(guān)于ES6?Module模塊化的跨域報(bào)錯,ES6模塊化提供了export命令和import?命令,對于模塊的導(dǎo)出和引入,本文結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2023-07-07