对Collection(集合)中的对象删除后索引变更的问题?
JScript code
function ObjArray()
{
this.Count=0;
}
ObjArray.prototype.Add=function(text)
{
this[this.Count++]=text;
}
var objA=new ObjArray();
objA.Add("a");
objA.Add("b");
objA.Add("c");
var x=objA[1];//此时用objA[1]访问能得到字符'b'
//RemoveAt(1);
//x=objA[1];//希望x的值是'c'
怎样定义RemoveAt(index)方法,当调用objA.RemoveAt(1)时,能删除索引为1的元素,删除完后用objA[1]访问能得到字符'c'?问题是删除完后,怎样重新设置每个元素的索引
------解决方案--------------------
ObjArray.prototype.RemoveAt=function(index){
//index验证省略
var o=this[index];
for(var i=index;i<this.count-1;){
this[i]=this[++i]
}
this[this.count-1]=null;
return o;
}