2012-01-14 22 views
0

私はオブジェクトの配列を持っています。これらのオブジェクトは、一部のユーザーアクションに基づいてコストのプロパティJavaScript - 送信オブジェクトプロパティに基づいて関数を実行

var myArray = 
[ 
{"ID": "1"; "CostA": 200, "CostB": 3000, "CostC": 900}, 
{"ID": "1"; "CostA": 150, "CostB": 2500, "CostC": 800}, 
{"ID": "1"; "CostA": 210, "CostB": 4000, "CostC": 600} 
] 

の束を持って、私はこのような機能を渡したいのですが、

function deteremineCosts(myArray, CostPassed) 

CostPassedは、オブジェクト内のコストのプロパティのいずれかになります - CostA、CostB、またはCostC。

myArray[0].CostPassedのような方法でオブジェクトの値を取得する方法はありますか?

は、私はまた、単に行うことができます実現し、以下の(とコストプロパティのリストが巨大であるため、私はむしろないと思います) -

if (CostPassed = "CostC") 
{ 
    var someCost = myArray[0].CostC; 
} 

私は、キーと値を取得することができますjQueryの.each信じます私は問題から、オブジェクトの配列からプロパティ名(値だけでなく)を取得しています。

答えて

3

obj['foo'] 

と等価であることをawaring後あなたは単にあなたがループするための簡単な使用することができます

var cost = myArray[0][CostPassed]; 
+0

ああもちろん、私はあなたがそのような変数を渡すことができたことを完全に忘れていた。 – firedrawndagger

1

を使用することができます

obj.foo 

fooは有効な識別子である場合)達成:

for(var name in obj){ 
    console.log(name); // this will output field name, not the value 
    console.log(obj[name]); //this will output the value; 
} 
関連する問題