作者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