2009-08-02 10 views

答えて

382

:それはなるように

var myObj = {'test' : {'key1' : 'value', 'key2': 'value'}} 

私は 'キー1' を削除することができ

delete myObj.test.key1; 
+16

myObj.test ['key1']を削除します。うまくいくでしょう。 – MyItchyChin

+26

それで 'delete myObj ['test'] ['key1']'; 'whatever [x ']'と 'x'が有効な変数名であれば' whatever.x'と 'whatever [' x ']'を入れ替えることができるので、delete myObj [' test '] .key1'でも動作します。 –

+1

https://fiddle.jshell.net/jr0enbua/削除の例 –

82

を選択あなたが削除したいキー自体を知っている限り、答えはうまくいくはずですが、本当に動的でなければならない場合、あなたのキーの代わりに[]表記を使用する必要がありますドット表記法。例えば

var keyToDelete = "key1"; 
var myObj = {"test": {"key1": "value", "key2": "value"}} 

//that will not work. 
delete myObj.test.keyToDelete 

代わりに使用する必要があります:

delete myObj.test[keyToDelete]; 

あなたが削除される前に評価したいそれらの値のための[]の表記とドット表記に置き換えてください。

+0

私はダイナミズムのためのオプションが好きです。それは私の場合、jsonオブジェクトからプロパティを動的に削除するのに役立ちました – user1862764

+0

上記のソリューションをチェックするとき、それが変数であれば何を解決するのか、すでに考えてください。 – zhihong

+0

Hey @praneetlokeクエリ私はJSON配列を取得します。例:[{"DE": "3"}のようになりたい場合は、[{\ "Countrycode \":\ "DE \"、\ "count \":\ "3 \"} ]このように私はこの出力を取得しないでください –

関連する問題