成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

學(xué)習(xí)JavaScript數(shù)據(jù)結(jié)構(gòu)與算法 — 字典

leanote / 1553人閱讀

摘要:方法向字典中添加新元素。通過鍵值查找特定的數(shù)值并返回。將這個(gè)字典中的所有元素全部刪除。將字典所包含的所有數(shù)值以數(shù)組形式返回。

定義

通俗地說,字典就是鍵值對(duì)[鍵,值],是鍵到值的映射關(guān)系。

方法

set(key,value):向字典中添加新元素。

remove(key):通過使用鍵值來從字典中移除鍵值對(duì)應(yīng)的數(shù)據(jù)值。

has(key):如果某個(gè)鍵值存在于這個(gè)字典中,則返回true,反之則返回false。

get(key):通過鍵值查找特定的數(shù)值并返回。

clear():將這個(gè)字典中的所有元素全部刪除。

size():返回字典所包含元素的數(shù)量。與數(shù)組的length屬性類似。

keys():將字典所包含的所有鍵名以數(shù)組形式返回。

values():將字典所包含的所有數(shù)值以數(shù)組形式返回。

實(shí)現(xiàn)
function Dictionary() {
    // items作為私有變量,是字典的載體
    var items = {};
    // has方法,如果某個(gè)鍵值存在于這個(gè)字典中,則返回true,反之則返回false
    this.has = function (key) {
        return key in items;
    };
    // set方法,向字典中添加新元素
    this.set = function (key, value) {
        items[key] = value;
    };
    // remove方法,通過使用鍵值來從字典中移除鍵值對(duì)應(yīng)的數(shù)據(jù)值
    this.remove = function(key) {
        if (this.has(key)) {
            delete items[key];
            return true;
        }
        return false;
    };
    // get方法,通過鍵值查找特定的數(shù)值并返回
    this.get = function(key) {
        return this.has(key) ? items[key] : undefined;
    };
    // clear方法,將這個(gè)字典中的所有元素全部刪除
    this.clear = function(){
        // 清空字典列表
        items = {};
    };
    // size方法,返回字典所包含元素的數(shù)量。與數(shù)組的length屬性類似
    this.size = function(){
        // Object.keys不會(huì)遍歷原型鏈上的屬性
        return Object.keys(items).length;
    };
    // keys方法,將字典所包含的所有鍵名以數(shù)組形式返回
    this.size = function(){
        return Object.keys(items);
    };
    // values方法,將字典所包含的所有數(shù)值以數(shù)組形式返回
    this.values = function() {
        var values = {};
        for (var k in items) {
            // 用has方法判斷,避免遍歷到原型鏈上的屬性
            if (this.has(k)) {
                values.push(items[k]);
            }
        }
        return values;
    };
}

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/81891.html

相關(guān)文章

  • CSS技巧

    摘要:技巧使你的更加專業(yè)這是上關(guān)于技巧的一篇譯文,另外你也可以在本項(xiàng)目看到原文。列舉了一些很實(shí)用的技巧,比如給空內(nèi)容的標(biāo)簽添加內(nèi)容,逗號(hào)分隔列表等等。排序算法看源碼,把它背下來吧排序算法的封裝。主要幫助初學(xué)者更好的掌握排序算法的實(shí)現(xiàn)。 成為專業(yè)程序員路上用到的各種優(yōu)秀資料、神器及框架 成為一名專業(yè)程序員的道路上,需要堅(jiān)持練習(xí)、學(xué)習(xí)與積累,技術(shù)方面既要有一定的廣度,更要有自己的深度。 Java...

    DangoSky 評(píng)論0 收藏0
  • CSS技巧

    摘要:技巧使你的更加專業(yè)這是上關(guān)于技巧的一篇譯文,另外你也可以在本項(xiàng)目看到原文。列舉了一些很實(shí)用的技巧,比如給空內(nèi)容的標(biāo)簽添加內(nèi)容,逗號(hào)分隔列表等等。排序算法看源碼,把它背下來吧排序算法的封裝。主要幫助初學(xué)者更好的掌握排序算法的實(shí)現(xiàn)。 成為專業(yè)程序員路上用到的各種優(yōu)秀資料、神器及框架 成為一名專業(yè)程序員的道路上,需要堅(jiān)持練習(xí)、學(xué)習(xí)與積累,技術(shù)方面既要有一定的廣度,更要有自己的深度。 Java...

    zgbgx 評(píng)論0 收藏0
  • CSS技巧 - 收藏集 - 掘金

    摘要:筆者作為一位,將工作以來用到的各種優(yōu)秀資料神器及框架整理在此,畢竟好記性不如爛鍵盤,此前端知識(shí)點(diǎn)大百科全書前端掘金,,不定期更新技巧前端掘金技巧,偶爾更新。計(jì)算數(shù)組的極值技巧使你的更加專業(yè)前端掘金一個(gè)幫你提升技巧的收藏集。 CSS 樣式畫各種圖形 - 前端 - 掘金下面是一些我在 CSS 中經(jīng)常用到的圖案,還有一些是在css-tricks看到的。記錄一下,以后會(huì)用到。會(huì)持續(xù)更新… 一、...

    Jonathan Shieber 評(píng)論0 收藏0
  • CSS技巧 - 收藏集 - 掘金

    摘要:筆者作為一位,將工作以來用到的各種優(yōu)秀資料神器及框架整理在此,畢竟好記性不如爛鍵盤,此前端知識(shí)點(diǎn)大百科全書前端掘金,,不定期更新技巧前端掘金技巧,偶爾更新。計(jì)算數(shù)組的極值技巧使你的更加專業(yè)前端掘金一個(gè)幫你提升技巧的收藏集。 CSS 樣式畫各種圖形 - 前端 - 掘金下面是一些我在 CSS 中經(jīng)常用到的圖案,還有一些是在css-tricks看到的。記錄一下,以后會(huì)用到。會(huì)持續(xù)更新… 一、...

    SHERlocked93 評(píng)論0 收藏0
  • Javascript數(shù)據(jù)結(jié)構(gòu)算法》筆記-「字典和散列表」

    摘要:我經(jīng)常在業(yè)務(wù)代碼中把數(shù)據(jù)處理成這種字典的數(shù)據(jù)結(jié)構(gòu)獲取的方法哈希表在學(xué)習(xí)了類之后,我們會(huì)學(xué)習(xí)散列表,也就是哈希表。 《Javascript數(shù)據(jù)結(jié)構(gòu)和算法》筆記-「字典和散列表」 集合、字典、散列表存儲(chǔ)的都是「不重復(fù)」的數(shù)據(jù)結(jié)構(gòu) 集合:我們更關(guān)注每一個(gè)元素的值,并把其作為主要元素 字典:我們用[鍵,值]的形式來存儲(chǔ)數(shù)據(jù) 散列表: 跟字典類似,也會(huì)是用[鍵,值]的形式來存儲(chǔ)數(shù)據(jù) 但是「字...

    wenyiweb 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<