首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

javascript 地图 实现

2012-11-20 
javascript map 实现001/*002?* MAP对象,实现MAP功能003?*004?* 接口:005?* size()???? 获取MAP元素个数00

javascript map 实现

001/*002?* MAP对象,实现MAP功能003?*004?* 接口:005?* size()???? 获取MAP元素个数006?* isEmpty()??? 判断MAP是否为空007?* clear()???? 删除MAP所有元素008?* put(key, value)?? 向MAP中增加元素(key, value)009?* remove(key)??? 删除指定KEY的元素,成功返回True,失败返回False010?* get(key)??? 获取指定KEY的元素值VALUE,失败返回NULL011?* element(index)?? 获取指定索引的元素(使用element.key,element.value获取KEY和VALUE),失败返回NULL012?* containsKey(key)? 判断MAP中是否含有指定KEY的元素013?* containsValue(value) 判断MAP中是否含有指定VALUE的元素014?* values()??? 获取MAP中所有VALUE的数组(ARRAY)015?* keys()???? 获取MAP中所有KEY的数组(ARRAY)016?*017?* 例子:018?* var map = new Map();019?*020?* map.put("key", "value");021?* var val = map.get("key")022?* ……043????//向MAP中增加元素(key, value)044????this.put =function(_key, _value) {045????????this.elements.push( {046????????????key : _key,047????????????value : _value048????????});049????}050?051????//删除指定KEY的元素,成功返回True,失败返回False052????this.remove =function(_key) {053????????varbln =false;054????????try{055????????????for(i = 0; i <this.elements.length; i++) {056????????????????if(this.elements[i].key == _key) {057????????????????????this.elements.splice(i, 1);058????????????????????returntrue;059????????????????}060????????????}061}066?067????//获取指定KEY的元素值VALUE,失败返回NULL068????this.get =function(_key) {069????????try{070????????????for(i = 0; i <this.elements.length; i++) {071????????????????if(this.elements[i].key == _key) {072????????????????????returnthis.elements[i].value;073????????????????}074????????????}075????????}catch(e) {076????????????returnnull;077????????}078????}079?080????//获取指定索引的元素(使用element.key,element.value获取KEY和VALUE),失败返回NULL081????this.element =function(_index) {082????????if(_index < 0 || _index >=this.elements.length) {083????????????returnnull;102?103????//判断MAP中是否含有指定VALUE的元素104????this.containsValue =function(_value) {105????????varbln =false;106????????try{107????????????for(i = 0; i <this.elements.length; i++) {108????????????????if(this.elements[i].value == _value) {109????????????????????bln =true;110????????????????}111????????????}112????????}catch(e) {113????????????bln =false;114????????}115????????returnbln;116????}117?118????//获取MAP中所有VALUE的数组(ARRAY)119????this.values =function() {120????????vararr =newArray();121????????for(i = 0; i <this.elements.length; i++) {122????????????arr.push(this.elements[i].value);123????????}124????????returnarr;125????}126?127????//获取MAP中所有KEY的数组(ARRAY)128????this.keys =function() {129????????vararr =newArray();130????????for(i = 0; i <this.elements.length; i++) {131????????????arr.push(this.elements[i].key);132????????}133????????returnarr;134????}135}

1 楼 ruler_internet 2012-03-01   为什么不借用对象的属性呢?

热点排行
Bad Request.