请选择 进入手机版 | 继续访问电脑版
记得收藏【国际动画教程网】,赶快注册吧!
注册

合作站点账号登陆

QQ登录

只需一步,快速开始

扫一扫,访问微社区

快捷导航
查看: 5041|回复: 0
收起左侧

用 Javascript 写的一个映射表类

[复制链接]
发表于 2015-8-3 13:28:40 | 显示全部楼层 |阅读模式
该类可以通过要害字(key)查找相对应的值(value),要害字的类型可以是String、Number、Boolean类型,值的类型不限,代码如下:
运行代码框
<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 全部选择 提示:你可先修改部分代码,再按运行]



上一篇:细品DW MX 2004内建FW技术
下一篇:Dreamweaver MX进阶教程(十一)使用“层”布局网页
一起共享资源,共建精品资源平台。记得一定要收藏我们网站。www.gjdhjc.com ||||| 还有我们的网址导航:www.58q8.com【链接失效可以留言看到第一时间补帖,如果懒的回复我也是没办法了】
快速回复 返回顶部 返回列表