2017-02-08 7 views
0

オブジェクトがあり、そのオブジェクト内に、deleteののオブジェクトの配列からjavascriptを使用する必要があります。配列内のオブジェクト要素を削除する

obj = { 
     "name":1, 
     "Details":[ 
      { 
       "mname":"text here", 
       "sname":"text here", 
       "address":"text", 
       "saddress":"text" 
      } 
     ] 
     } 

私は次のことを試してみましたが、ない運:

delete obj.Details.address 

delete obj.Details[0].address 
+2

後者は問題なく動作するはずです – haim770

+0

私はプロジェクトを構造化しているかもしれない方法が間違っていたに違いないでしょうが、後者は今働いています。皆さん助けてくれてありがとう –

答えて

3

をデバッグしていません。

+0

私はそれが問題だとは思わない! –

+0

私の間違い、それはタイプミスでした、引用符はそこにあります –

+0

ここで働くフィドルを見てくださいhttps://jsfiddle.net/jituce/hp94L513/1/ – jjj

1

あなたは、これは動作しません。よろしいですか?

delete obj.Details[0].address 

これはChromeのコンソールで試したところですが、これはうまくいきます。文字列形式で「テキスト」、そして

delete obj.Details[0].address 

が動作します:たぶん、あなたはあなたのオブジェクト構造は、「アドレス」でなければなりません

obj = { 
    "name":1, 
    "Details":[ 
     { 
      "mname":"text here", 
      "sname":"text here", 
      "address":"text", 
      "saddress":"text" 
     } 
    ] 
    } 

間違って正しく

1

あなたはDetails、アレイ内のすべてのオブジェクトのadressプロパティを削除したい場合は、それは、このようなforEachを使用してください:

obj.Details.forEach(function(detail) { 
    delete detail.address; 
}); 

またはこのような古いforループ使用:

for(var i = 0; i < obj.Details.length; i++) { 
    delete obj.Details[i].adress; 
} 
関連する問題