簡體   English   中英

Javascript刪除object.property無法正常工作

[英]Javascript delete object.property not working

我試圖刪除一個對象的屬性,但該屬性根本沒有刪除...

是)我有的:

var tagFound = yield tags.findById(this.params.tagId);
debug('prior delete: %j', tagFound);
delete tagFound.password;
debug('after delete: %j', tagFound);

我得到了什么:

api_v1 prior delete: {"_id":"55e064e9727b44c32a262c0f","expires":"2015-08-29T13:40:57.673Z","password":"$2a$08$hucJyHIU5gholAB1L.wVKeFoTmvFho9xFiJAAvmwmtKphLuJ9Hq4K","type":"free","name":"teste","__v":0,"visible":true,"locations":[{"latitude":65.9667,"longitude":-18.5333,"_id":"55e064e9727b44c32a262c10","timestamp":"2015-08-28T13:40:57.572Z"}]}

api_v1 after delete: {"_id":"55e064e9727b44c32a262c0f","expires":"2015-08-29T13:40:57.673Z","password":"$2a$08$hucJyHIU5gholAB1L.wVKeFoTmvFho9xFiJAAvmwmtKphLuJ9Hq4K","type":"free","name":"teste","__v":0,"visible":true,"locations":[{"latitude":65.9667,"longitude":-18.5333,"_id":"55e064e9727b44c32a262c10","timestamp":"2015-08-28T13:40:57.572Z"}]}

也許我的眼睛太累了,但我根本無法弄明白,有沒有人看到我在這里遺失的明顯事物?

更新:我把它放到http://jsfiddle.net/fc8mohwp/ ,問題是,它在那里工作,但不在這里(iojs)。 應該有什么區別嗎?

某些變量無法刪除,具體取決於它們的聲明方式。 例如,您無法刪除已在全局范圍中定義的變量。

我討厭發布一個鏈接答案,但是這篇博文描述了使用delete的所有規則和邊緣情況。 對於我來說,包括SO帖子是相當多的

在Javascript中使用delete

這可能有多種原因,例如密碼字段無法更改或密碼字段來自原型鏈。

您可以使用Object.getOwnPropertyDescriptor(tagFound, 'password');調試它Object.getOwnPropertyDescriptor(tagFound, 'password');

您可以使用delete運算符從javascript對象中刪除屬性

刪除myObject.proportyname;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM