溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

JS中的Map對象如何使用

發(fā)布時間:2023-02-23 15:31:13 來源:億速云 閱讀:137 作者:iii 欄目:開發(fā)技術(shù)

這篇文章主要講解了“JS中的Map對象如何使用”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“JS中的Map對象如何使用”吧!

    JS中的Map對象

    1.js創(chuàng)建map對象

    var map = new Map();

    2.將鍵值對放入map對象

    map.set("key",value)
    map.set("key1",value1)
    map.set("key2",value2)

    3.根據(jù)key獲取map值

    map.get(key)

    4.刪除map指定對象

    delete map[key]

    map.delete(key)

    5.循環(huán)遍歷map

    map.forEach(function(key){
      console.log("key",key)  //輸出的是map中的value值
    })

    JS中Map和普通對象

    Map對象

    Map 對象保存鍵值對。任何值(對象,數(shù)組,字符串,數(shù)值,布爾,null,undefined) 都可以作為一個鍵或一個值。

    一個Map對象在迭代時會根據(jù)對象中元素的插入順序來進行 — 一個 for...of 循環(huán)在每次迭代后會返回一個形式為[key,value]的數(shù)組。

    Object對象

    Object 構(gòu)造函數(shù)創(chuàng)建一個對象包裝器。內(nèi)容為成對的名稱(字符串)與值(任何值),其中名稱通過冒號與值分隔。

    Objects 和 maps 的比較

    Objects 和 Maps 類似的是,它們都允許你按鍵存取一個值、刪除鍵、檢測一個鍵是否綁定了值。因此(并且也沒有其他內(nèi)建的替代方式了)過去我們一直都把對象當(dāng)成 Maps 使用。不過 Maps 和 Objects 有一些重要的區(qū)別,在下列情況里使用 Map 會是更好的選擇:


    MapObject
    意外的鍵Map 默認情況不包含任何鍵。只包含顯式插入的鍵。一個 Object 有一個原型, 原型鏈上的鍵名有可能和你自己在對象上的設(shè)置的鍵名產(chǎn)生沖突。注意: 雖然 ES5 開始可以用 Object.create(null) 來創(chuàng)建一個沒有原型的對象,但是這種用法不太常見。
    鍵的類型一個 Map的鍵可以是任意值,包括函數(shù)、對象或任意基本類型。一個Object 的鍵必須是一個 String 或是Symbol。
    鍵的順序Map 中的 key 是有序的。因此,當(dāng)?shù)臅r候,一個 Map 對象以插入的順序返回鍵值。一個 Object 的鍵是無序的注意:自ECMAScript 2015規(guī)范以來,對象確實保留了字符串和Symbol鍵的創(chuàng)建順序; 因此,在只有字符串鍵的對象上進行迭代將按插入順序產(chǎn)生鍵。
    SizeMap 的鍵值對個數(shù)可以輕易地通過size 屬性獲取Object 的鍵值對個數(shù)只能手動計算
    迭代Map 是 iterable 的,所以可以直接被迭代。迭代一個Object需要以某種方式獲取它的鍵然后才能迭代。
    性能在頻繁增刪鍵值對的場景下表現(xiàn)更好。在頻繁添加和刪除鍵值對的場景下未作出優(yōu)化。

    感謝各位的閱讀,以上就是“JS中的Map對象如何使用”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對JS中的Map對象如何使用這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!

    向AI問一下細節(jié)

    免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

    AI