作者:yjgx007 時(shí)間: 2004-05-24 文檔類型:原創(chuàng) 來自:CSDN
該類可以通過關(guān)鍵字(key)查找相對應(yīng)的值(value),關(guān)鍵字的類型可以是String、Number、Boolean類型,值的類型不限,代碼如下:
運(yùn)行代碼框<script> function struct(key, value){ this.key = key; this.value = value; } function setAt(key, value){ for (var i = 0; i < this.map.length; i++) { if ( this.map[i].key === key ) { this.map[i].value = value; return; } } this.map[this.map.length] = new struct(key, value); } function lookUp(key) { for (var i = 0; i < this.map.length; i++) { if ( this.map[i].key === key ) { return this.map[i].value; } } return null; } function removeKey(key) { var v; for (var i = 0; i < this.map.length; i++) { v = this.map.pop(); if ( v.key === key ) continue; this.map.unshift(v); } } function getCount(){ return this.map.length; } function isEmpty(){ return this.map.length <= 0; } function classMap() { this.map = new Array(); this.lookUp = lookUp; this.setAt = setAt; this.removeKey = removeKey; this.getCount = getCount; this.isEmpty = isEmpty; } window.onload = function(){ var map = new classMap(); alert("is the map empty? " + map.isEmpty()); // string to array map.setAt("sw1", new Array("sw1_1")); map.setAt("sw2", new Array("sw2_1", "sw2_2")); map.setAt("sw3", new Array("sw3_1", "sw3_2", "sw3_3")); alert(map.lookUp("sw5")); // null alert(map.lookUp("sw2")); // "sw2_1, sw2_2" alert(map.getCount()); // 3 // number to string map.setAt(1, "sw1"); map.setAt(2, "sw2"); alert(map.lookUp(2)); // "sw2" map.setAt(2, new Array("sw2_1", "sw2_2")); alert(map.lookUp(2)); // "sw2_1, sw2_2" alert(map.getCount()); // 5 // string to number map.setAt("1", 1); map.setAt("2", 2); alert(map.lookUp("1")); // 1 alert(map.lookUp(1)); // "sw1" map.setAt("sw3", 33); alert(map.lookUp("sw3")); // 33 alert(map.getCount()); // 7 // number to number map.setAt(1, 11); map.setAt(2, 22); alert(map.lookUp(1)); // 11 alert(map.getCount()); // 7 map.removeKey(1); alert(map.lookUp(1)); // null alert(map.getCount()); // 6 // boolean to array map.setAt(false, new Array("false", "true")); alert(map.lookUp(false)); alert(map.getCount()); // 7 } </script> [Ctrl+A 全部選擇 提示:你可先修改部分代碼,再按運(yùn)行]
出處:CSDN 責(zé)任編輯:紅色黑客
◎進(jìn)入論壇網(wǎng)頁制作、網(wǎng)站綜合版塊參加討論
藍(lán)色理想版權(quán)申明:除部分特別聲明不要轉(zhuǎn)載,或者授權(quán)我站獨(dú)家播發(fā)的文章外,大家可以自由轉(zhuǎn)載我站點(diǎn)的原創(chuàng)文章,但原作者和來自我站的鏈接必須保留(非我站原創(chuàng)的,按照原來自一節(jié),自行鏈接)。文章版權(quán)歸我站和作者共有。
轉(zhuǎn)載要求:轉(zhuǎn)載之圖片、文件,鏈接請不要盜鏈到本站,且不準(zhǔn)打上各自站點(diǎn)的水印,亦不能抹去我站點(diǎn)水印。
特別注意:本站所提供的攝影照片,插畫,設(shè)計(jì)作品,如需使用,請與原作者聯(lián)系,版權(quán)歸原作者所有,文章若有侵犯作者版權(quán),請與我們聯(lián)系,我們將立即刪除修改。