javascript-objects - JavaScript array delete - JavaScriptオブジェクトからプロパティを削除するにはどうすればいいですか?

javascript オブジェクト名 取得 / javascript

以下のようにオブジェクトを作成したとします。

let myObject = {
  "ircEvent": "PRIVMSG",
  "method": "newURI",
  "regex": "^http://.*"
};
let myObject = {
  "ircEvent": "PRIVMSG",
  "method": "newURI"
};

Derek Wang



Answer #1
myJSONObject = {"ircEvent": "PRIVMSG", "method": "newURI", "regex": "^http://.*"};

そうすれば

console.log(Object.keys(myJSONObject));

という結果になるのではないでしょうか。

["ircEvent", "method", "regex"]

オブジェクトキーからその特定のキーを削除するには、次のようにします。

delete myJSONObject["regex"];
["ircEvent", "method"]

しかし、重要なのは、もしあなたがメモリを気にしていて、オブジェクトがメモリから削除されるのを全体的に確認したいのであれば、キーを削除する前にそれをnullに設定することをお勧めします。

myJSONObject["regex"] = null;
delete myJSONObject["regex"];

もうひとつの重要なポイントは、同じオブジェクトへの他の参照に注意することです。例えば、次のような変数を作ったとします。

var regex = myJSONObject["regex"];

あるいは、別のオブジェクトへの新しいポインタとして追加する、といった具合です。

var myOtherObject = {};
myOtherObject["regex"] = myJSONObject["regex"];
delete regex; //誤り
myOtherObject["regex"] = null;
delete myOtherObject["regex"];