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