2017-02-08 15 views
1

を使用してオブジェクトのプロパティを削除しますJS私はJSの配列とオブジェクトを有する配列シフト

var number = [23,234,654,3234]; 
var detail = { 
       23:"John", 
       234:"Doe", 
       654:50, 
       3234:"blue" 
      }; 

そしてvar remove = number.shift()を使用して、私は(この場合、23)配列の最初の値を取得してからそれを削除することができ配列。

オブジェクトから対応するプロパティを削除しようとしています:この場合、23:"John"になります。

私はdelete detail.remove;を試しましたが、運はありません。

提案がありますか?

おかげ

+0

それは細部を削除 'べきである['23' ];' – pryxen

+1

それは違いはありません@pryxen。 – Mikey

+0

ops申し訳ありませんが、戻り値が文字列ではなく、一重引用符 'detail detail [23];' – pryxen

答えて

1

はMDNによるとdelete operatorは、プロパティの参照に評価すべき表現が続いています。あなたの例であるdelete detail.removeが実際に正しいです。

ただし、プログラムでプロパティ(または23などの番号付きプロパティ)にアクセスする場合は、bracket notationを使用してください。

// with variable 
delete detail[remove]; 

// with string or integer 
delete detail[23]; 
+1

ああ、もちろん。ありがとう! –

1

obj.variableで変数を使用することはできません。正しい方法はobj [変数]です。

ので、代わりにこれを試してみてください。

delete detail[remove]; 
関連する問題