for...in 循环一个grid 记录,选择第一条记录,莫名多出个 remove 来

var rs = g.getSelectionModel().getSelections();
alert(rs.length);
for (i in rs) {
alert(i);
}

如上代码,如果我只选择第一条记录,在 alert(i) 的地方会莫名其妙多弹出一个 remove 出来,但是 alert(rs.length) 显示的还是 1

请问谁知道是怎么回事?如何避免?我知道不用 fo...in 可以完成我的需求,但我就是想知道为什么会多出个 remove 来,谢谢~!
[b]问题补充:[/b]
那为什么只是在我只选择了第一条记录的时候才出现这个问题呢?我单选任何其它记录,或是多选几条包含第一条记录的记录,都不会出现这个问题。而且只是多出来一个 remove,其它一切正常。
[b]问题补充:[/b]
虽然还是没有搞清楚为什么只是单选第一条记录才会弹出 remove,但还是结问了,谢谢 yourgame~!

remove 是 rs的一个方法,rs是一个数组
你这种遍历方式就是可以看清楚rs里面到底都有些什么
相当于火狐下面的 console.dir(rs);

[quote]for (i in rs) {
alert(i);
} [/quote]

这种方式是遍历rs的所有属性和方法,要用如下方式
[code="js"]
for(var i=0 ; i<rs.length; i++){

}[/code]