读书人

对Collection(集合)中的对象删除后索引

发布时间: 2012-02-28 13:06:35 作者: rapoo

对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;
}

读书人网 >JavaScript

热点推荐