国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

JS中的Map對(duì)象用法及說(shuō)明

瀏覽:276日期:2022-06-02 09:46:55
目錄
  • JS中的Map對(duì)象
  • JS中Map和普通對(duì)象
    • Map對(duì)象
    • Object對(duì)象
    • Objects 和 maps 的比較
  • 總結(jié)

    JS中的Map對(duì)象

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

    var map = new Map();

    2.將鍵值對(duì)放入map對(duì)象

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

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

    map.get(key)

    4.刪除map指定對(duì)象

    delete map[key]

    map.delete(key)

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

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

    JS中Map和普通對(duì)象

    Map對(duì)象

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

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

    Object對(duì)象

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

    Objects 和 maps 的比較

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

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

    總結(jié)

    以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持。

    標(biāo)簽: JavaScript
    主站蜘蛛池模板: 嘉峪关市| 益阳市| 调兵山市| 田东县| 屏边| 潼南县| 彰化县| 清水河县| 黄龙县| 渭源县| 万荣县| 汪清县| 广平县| 洪江市| 江永县| 南阳市| 大同县| 桂林市| 大同市| 宁安市| 巴彦县| 营口市| 利辛县| 连城县| 兴业县| 瑞金市| 绥滨县| 天津市| 西乌| 临漳县| 廉江市| 栖霞市| 门源| 蓬安县| 涿州市| 铅山县| 吴桥县| 梅河口市| 太仆寺旗| 喜德县| 界首市|