作者mesak (米沙)
看板Ajax
标题[问题] javascript 物件清除索引
时间Mon May 17 21:53:04 2010
程式码如下
var aaa = new Object();
aaa[1] = new Object();
我现在要把 aaa[1] 给移除,或是关闭,该如何做勒?
更新--
写了个 FUNCTION 解决了
function ObjIndexRemove(obj,key){
var newObj = new Object();
$.each(obj,function(i,n){
if(i != key){
newObj[i] = n;
}
})
return newObj;
}
只要重新 加一个物件 遇到遇到物件不新增就好了= =...
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 112.104.6.236
※ 编辑: mesak 来自: 112.104.6.236 (05/17 22:06)
1F:→ scribeTW:delete aaa[1]; 05/18 00:11
2F:推 wxyy:依照原PO自己说已解决的 function 来看 delete不是他要的 05/18 00:18
3F:→ wxyy:用 delete...只是把物件移除 但是位置还是存在的 05/18 00:19
4F:→ wxyy:在 Firefox 这个 function 还可以改成(没试过其他浏览器) 05/18 00:20
5F:→ wxyy:function ObjIndexRemove(obj,key){ 05/18 00:21
6F:→ wxyy: obj.splice(key, 1); 05/18 00:21
7F:→ wxyy: return obj; 05/18 00:21
8F:→ wxyy:} 05/18 00:21
9F:→ mesak:SPLICE 不行我试过了,因为 OBJ 是物件,不是阵列... 05/18 01:18
10F:→ mesak:所以不能使用 SPLICE的方式 去掉 05/18 01:19
11F:→ TonyQ:其实照正常作法来说,只要把该key set null就好... 05/18 03:52
12F:推 TonyQ:也就是 { obj[key]=null; return obj;} 05/18 03:52
13F:推 wxyy:喔..我错了....不过我刚刚试了 应该是 scribeTW 的方法 05/18 08:37
14F:→ wxyy:才可以把 Object 的属性删除掉...TonyQ的方法 属性会保留着.. 05/18 08:37
15F:→ wxyy:还是依照原PO的function来看...scribeTW 的方式才对的... 05/18 08:39