2016-05-07 22 views
0
var validCoins = { 
     "nickel": { 
     "weight": 5.00, 
     "diameter": 21.21, 
     "thickness": 1.95, 
     "value": 0.05 
     }, 
     "dime": { 
     "weight": 2.27, 
     "diameter": 17.91, 
     "thickness": 1.35, 
     "value": 0.10 
     }, 
     "quarter": { 
     "weight": 5.67, 
     "diameter": 24.26, 
     "thickness": 1.75, 
     "value": 0.25 
     } 
    }; 

を返します。ネストされたJSONオブジェクトのプロパティへのアクセス方法1未定義

Object.keys(validCoins).forEach(function(coinType) { 
     alert(coinType.weight); 
} 

方法2:

for (var key in validCoins){ 
//Checking for hasOwnpProperty here doesn't make a difference 
     alert(key["weight"]); 
    } 

これらのいずれも動作するようには思えない、それは未定義、何午前を返します。私は行方不明? (私はライブラリなどをインポートしなければなりませんか?)私はプレーンなjavascriptを使ってこれを行うつもりです。

+1

'Object.keys'はあなたに...それを待つ...オブジェクトのキーを与えます! 'validCoins [coinType] .weight'を使用してください。 –

+1

' alert(coinType) 'を実行してください。 –

+0

それは私が@FelixKlingも望むものではありません。私はすでにその投稿を見ましたが、答えは得られませんでした。 – titanium

答えて

1
var validCoins = { 
     "nickel": { 
     "weight": 5.00, 
     "diameter": 21.21, 
     "thickness": 1.95, 
     "value": 0.05 
     }, 
     "dime": { 
     "weight": 2.27, 
     "diameter": 17.91, 
     "thickness": 1.35, 
     "value": 0.10 
     }, 
     "quarter": { 
     "weight": 5.67, 
     "diameter": 24.26, 
     "thickness": 1.75, 
     "value": 0.25 
     } 
    }; 

for (var key in validCoins) { 
    if (validCoins.hasOwnProperty(key)) { 
    alert(validCoins[key].weight); 
    } 
} 

Fiddle

関連する問題