[問題] javascript 物件清除索引

看板Ajax作者 (米沙)時間15年前 (2010/05/17 21:53), 編輯推噓3(3012)
留言15則, 4人參與, 最新討論串1/2 (看更多)
程式碼如下 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)

05/18 00:11, , 1F
delete aaa[1];
05/18 00:11, 1F

05/18 00:18, , 2F
依照原PO自己說已解決的 function 來看 delete不是他要的
05/18 00:18, 2F

05/18 00:19, , 3F
用 delete...只是把物件移除 但是位置還是存在的
05/18 00:19, 3F

05/18 00:20, , 4F
在 Firefox 這個 function 還可以改成(沒試過其他瀏覽器)
05/18 00:20, 4F

05/18 00:21, , 5F
function ObjIndexRemove(obj,key){
05/18 00:21, 5F

05/18 00:21, , 6F
obj.splice(key, 1);
05/18 00:21, 6F

05/18 00:21, , 7F
return obj;
05/18 00:21, 7F

05/18 00:21, , 8F
}
05/18 00:21, 8F

05/18 01:18, , 9F
SPLICE 不行我試過了,因為 OBJ 是物件,不是陣列...
05/18 01:18, 9F

05/18 01:19, , 10F
所以不能使用 SPLICE的方式 去掉
05/18 01:19, 10F

05/18 03:52, , 11F
其實照正常作法來說,只要把該key set null就好...
05/18 03:52, 11F

05/18 03:52, , 12F
也就是 { obj[key]=null; return obj;}
05/18 03:52, 12F

05/18 08:37, , 13F
喔..我錯了....不過我剛剛試了 應該是 scribeTW 的方法
05/18 08:37, 13F

05/18 08:37, , 14F
才可以把 Object 的屬性刪除掉...TonyQ的方法 屬性會保留著..
05/18 08:37, 14F

05/18 08:39, , 15F
還是依照原PO的function來看...scribeTW 的方式才對的...
05/18 08:39, 15F
文章代碼(AID): #1ByKf4IZ (Ajax)
討論串 (同標題文章)
文章代碼(AID): #1ByKf4IZ (Ajax)