国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

我對(duì)JS字典的簡(jiǎn)單學(xué)習(xí)

CntChen / 2376人閱讀

摘要:我對(duì)字典的簡(jiǎn)單學(xué)習(xí)字典的概念集合字典和散列表都可以來(lái)存儲(chǔ)不重復(fù)的值。字典也被稱為映射。中有集合類的實(shí)現(xiàn),也有字典類的實(shí)現(xiàn)。相關(guān)操作方法實(shí)現(xiàn)方法,判斷某個(gè)鍵值是否在這個(gè)字典中,有則返回。實(shí)現(xiàn)方法,將字典所有的值以數(shù)組的形式返回。

我對(duì)JS字典的簡(jiǎn)單學(xué)習(xí) 字典的概念

集合、字典和散列表都可以來(lái)存儲(chǔ)不重復(fù)的值。
在集合中我們使用[值,值]來(lái)保存,在字典和散列表中使用[鍵,值]來(lái)存儲(chǔ)數(shù)據(jù)。

字典也被稱為映射

ES6中有集合Set類的實(shí)現(xiàn),也有字典Map類的實(shí)現(xiàn)。

function  Dictionary() {
  var items = {};
}
相關(guān)操作方法

實(shí)現(xiàn)has(key)方法,判斷某個(gè)鍵值是否在這個(gè)字典中,有則返回true。

this.has = function(key) {
  return key in items;
}

實(shí)現(xiàn)set(key, value)方法,向字典中添加新元素。

this.set = function(key, value) {
  items[key] = value;
}

實(shí)現(xiàn)remove(key)方法,從字典中移除鍵值對(duì)應(yīng)的數(shù)據(jù)值。

this.remove = function(key) {
  if(this.has(key)) {
    delete items[key];
    return true;
  }
  return false;
}

實(shí)現(xiàn)get(key)方法,查找特定的值。

this.get = function(key) {
  return this.has(key) ? items[key] : undefined;
}

引申:undefinednull不一樣,null表示變量沒(méi)有值,undefined表示變量被聲明但未賦值。

實(shí)現(xiàn)values()方法,將字典所有的值以數(shù)組的形式返回。

this.values = function() {
  var values = [];
  for(var k in items) {
    if(this.hasOwnProperty(k)) {
      values.push(items[key]);
    }
  }
  return values;
}

clear(),size(),keys()方法與Set類一致,這里不討論了。

實(shí)現(xiàn)getItems()方法

this.getItems = function() {
  return items;
}
使用Dictionary類

創(chuàng)建一個(gè)類的實(shí)例,然后給它添加三條電子郵件地址。

var dictionary = new Dictionary();
dictionary.set("Gandalf", "gandalf@email.com");
dictionary.set("John", "John@email.com");
dictionary.set("Tyrion", "Tyrion@email.com");

使用方法

console.log(dictionary.has("Gandalf")); //true
console.log(dictionary.size()); //3
console.log(dictionary.keys()); //["Gandalf", "John", "Tyrion"];
console.log(dictionary.values()); //["Gandalf@email.com", John@email.com", "Tyrion@email.com"]
console.log(dictionary.get("Tyrion")); //Tyrion@email.com

執(zhí)行以下代碼

dictionary.remove("John");

console.log(dictionary.keys()); //["Gandalf", "Tyrion"]
console.log(dictionary.values()); //["Gandalf@email.com", "Tyrion@email.com"]
console.log(dictionary.getItems()); //{Gandalf: "Gandalf@email.com", Tyrion: "Tyrion@email.com"}

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

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/82362.html

相關(guān)文章

  • 讀懂immutable-jsMap數(shù)據(jù)結(jié)構(gòu)

    摘要:一向量字典樹字典樹,一種用空間換取時(shí)間的樹形數(shù)據(jù)結(jié)構(gòu),主要特點(diǎn)是利用字符串的公共前綴來(lái)挺升查詢性能。還有最終的數(shù)組表示的真實(shí)存儲(chǔ)的鍵值,存儲(chǔ)了,存儲(chǔ)了。這其中還有一種節(jié)點(diǎn)進(jìn)行了沖突的處理。 本文受深入探究Immutable.js的實(shí)現(xiàn)機(jī)制這篇文章啟發(fā),結(jié)合自己對(duì)Map源碼的解讀,談?wù)勎覍?duì)immutable-js中map數(shù)據(jù)結(jié)構(gòu)的理解,若有不正確的地方,歡迎指正。 一、Vector Tr...

    jone5679 評(píng)論0 收藏0
  • 我對(duì)JS簡(jiǎn)單學(xué)習(xí)

    摘要:我對(duì)棧的學(xué)習(xí)因?yàn)槭莻€(gè)新手,所以都是最簡(jiǎn)單的知識(shí)學(xué)習(xí)梳理。棧是一種遵從后進(jìn)先出原則的有序集合,新添加的或者待刪除的元素都保留在棧的末尾,稱作棧頂,另一端叫做棧底。棧的學(xué)習(xí)棧的創(chuàng)建創(chuàng)建一個(gè)類來(lái)表示棧。對(duì)于棧來(lái)說(shuō)只能用和方法來(lái)進(jìn)行添加和刪除元素。 我對(duì)棧的學(xué)習(xí) 因?yàn)槭莻€(gè)新手,所以都是最簡(jiǎn)單的知識(shí)學(xué)習(xí)梳理。 什么是棧 數(shù)組是計(jì)算機(jī)科學(xué)中最常用的數(shù)據(jù)結(jié)構(gòu),是數(shù)據(jù)元素的集合。有時(shí)候我們需要一種添加...

    Cobub 評(píng)論0 收藏0
  • 我對(duì)JS鏈表簡(jiǎn)單學(xué)習(xí)

    摘要:我對(duì)鏈表的學(xué)習(xí)什么是鏈表要存儲(chǔ)多個(gè)元素,數(shù)組可能是最常用的數(shù)據(jù)結(jié)構(gòu)。鏈表的學(xué)習(xí)創(chuàng)建一個(gè)鏈表各種方法表示要加入列表的項(xiàng),它包含一個(gè)屬性以及一個(gè)屬性,表示要添加到列表的值,表示指向列表下一個(gè)節(jié)點(diǎn)項(xiàng)的指針。 我對(duì)JS鏈表的學(xué)習(xí) 什么是鏈表 要存儲(chǔ)多個(gè)元素,數(shù)組可能是最常用的數(shù)據(jù)結(jié)構(gòu)。這種數(shù)據(jù)結(jié)構(gòu)非常方便,但是有一個(gè)缺點(diǎn):從數(shù)組的起點(diǎn)或者中間插入或移除項(xiàng)的成本非常高,因?yàn)樾枰苿?dòng)元素(比如你插...

    余學(xué)文 評(píng)論0 收藏0
  • 我對(duì)JS集合簡(jiǎn)單學(xué)習(xí)

    摘要:我對(duì)集合的學(xué)習(xí)第一步知道相關(guān)概念集合是由一組無(wú)序且唯一的項(xiàng)組成的,在中已經(jīng)實(shí)現(xiàn)了類似的類。就是集合第二步實(shí)現(xiàn)相關(guān)操作方法首先實(shí)現(xiàn)方法,判斷值是否在集合中,返回布爾值。操作符還有另外一種實(shí)現(xiàn)方法,方法返回表明一個(gè)對(duì)象是否具有特定屬性的布爾值。 我對(duì)集合的學(xué)習(xí) 第一步知道相關(guān)概念 集合是由一組無(wú)序且唯一的項(xiàng)組成的,在ES6中已經(jīng)實(shí)現(xiàn)了類似的Set類。 function Set() { ...

    paney129 評(píng)論0 收藏0
  • 由 sort 中 key 用法淺談 python

    摘要:但是實(shí)際寫程序中,我們經(jīng)常會(huì)寫出許多繁雜的丑陋的代碼。特別推薦,許多代碼讓我獲益匪淺,比如這里對(duì)的使用。用可以寫出很簡(jiǎn)單直觀的代碼,如下當(dāng)然,上面不考慮效率,這里有一個(gè)利用分治法思想的高效的方法。更多文章更多閱讀中參數(shù)的用法高級(jí)編程技巧 用 Python 時(shí)間也算不短了,但總感覺(jué)自己在用寫 C++ 代碼的思維寫 Python,沒(méi)有真正用到其作為腳本語(yǔ)言的優(yōu)勢(shì)。之前刷 LeetCode ...

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

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

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<