我有一个对象数组。这些对象具有一堆成本属性
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
将能够从一个对象获取一个键和值,但我遇到的问题是从一个对象数组中获取属性名称(而不仅仅是值)。
答案 0 :(得分:3)
看了之后
obj['foo']
等同于(如果foo
是有效标识符)
obj.foo
您只需使用
即可var cost = myArray[0][CostPassed];
答案 1 :(得分:1)
你可以使用简单的for循环来实现这个目标:
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;
}