2012-01-14 2 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; 
} 
관련 문제