数组不方便
一、存进去的数据不一定,可能10000条也可能2条
二、这些数据有唯一性,没有相同的,所以删除时数据要求好删
仔细一想用数组也行,我写个算法吧,就是还要手动写很想要个像listbox那样的东西
options.add(option)
options.remove(option)
多方便呀
一、存进去的数据不一定,可能10000条也可能2条
二、这些数据有唯一性,没有相同的,所以删除时数据要求好删
仔细一想用数组也行,我写个算法吧,就是还要手动写很想要个像listbox那样的东西
options.add(option)
options.remove(option)
多方便呀
planets.push('4', '5');
alert(planets);planets = ['1', '2', '3', '4', '5'];
planets.splice(2, 2);
alert(planets);push 和splice 跟add remove差不多啊
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> 实现一个简单的HashTable </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
</HEAD><BODY>
<SCRIPT LANGUAGE="JavaScript">
<!--
function AlertValue(s){
document.write(s + "<br/>");
}//简单hash类型
function HashTable(){
//特殊关键字(speacialKey)用来处理特殊的保留字
//这些保留字主要是Object对象中的固有属性和方法
var speacialKey = [
"valueOf",
"hasOwnProperty",
"isPropertyOf",
"propertyIsEnumerable",
"prototype",
"constructor",
"toLocaleString",
"toString"
];
//为关键字单独提供存放值空间
var speacialvalue = new Array(speacialKey.length);
//特殊关键字存储标记,true表示位置已经有值不能重复插入
var speacialflag = new Array(speacialKey.length);
//存放普通关键字,只需一个普通对象
var normalHashtable = {}; //将值插入hash表
this.insert = function(key,value){
//处理特殊关键字
for(var i =0;i<speacialKey.length;i++){
if(key == speacialKey[i]){
if(!speacialflag[i]){
speacialvalue[i] = value;
speacialflag[i] = true;
return true
}else{
return false;
}
}
}
//处理普通关键字
normalHashtable[key] = value;
return true;
}
//在hash中查找相关值
this.find = function(key){
//先处理特殊关键字
for(var i=0;i<speacialKey.length;i++){
if(key == speacialKey[i]){
return speacialvalue[i];
}
}
//查找普通关键字
return normalHashtable[key];
}
}var hash = new HashTable();
AlertValue(hash.insert("prototype","idea"));
AlertValue(hash.insert("prototype","idea"));
AlertValue(hash.find("prototype"));
//-->
</SCRIPT></BODY>
</HTML>那就用这个hash但删除方法我没写 你可以自己补全 我感觉你的要求数组就够了
var oMap={};
oMap["1"]=0;
oMap["2"]="string";
oMap["a"]=1233;
oMap["4"]=[1,2,3,4];alert(oMap["1"]);
alert(oMap["2"]);
delete oMap["1"];
alert(oMap["1"]);
alert(oMap["2"]);
里面的.splice方法不能移除我指定的元素,只能按位置移除,可我想移除的是和某变量相等的元素呀