JavaScript - 基于发送对象属性执行函数

标签 javascript jquery

我有一个对象数组。这些对象有很多成本属性

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 将能够从对象中获取键和值,但我在从对象数组中获取属性名称(而不仅仅是值)时遇到了问题。

最佳答案

意识到之后

obj['foo'] 

相当于(如果foo是一个有效的标识符)

obj.foo

您可以简单地使用

var cost = myArray[0][CostPassed];

关于JavaScript - 基于发送对象属性执行函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8864939/

相关文章:

c# - 无法填充 Kendo Scheduler

Javascript:拼接多维对象

jquery - 如何使用 JQuery 或 CSS 或两者使文本居中?

javascript - IE 上的图像加载事件

javascript - 为什么我的每个类使用的 jQuery 片段不支持 setTimeout?

javascript - 输入范围 slider 及其指针的自定义

javascript - 单击同一行上另一个单元格中的图像后,如何替换特定单元格中的单词?

javascript - pm2应用程序无故随机重启

jquery - 使用 jQuery 从 JSON 填充表

javascript - screen.availHeight 和 window.height() 的区别