使用变量访问JSON属性(String)

时间:2013-10-10 15:36:18

标签: javascript json

我正在尝试使用我正在通过函数传递的变量来访问JSON:

function highlightCategory (category) {
   for (var i in data) {
      console.log(data[i].category)
   }
}

显然,这不起作用,因为“类别”是我传递的功能而不是属性的真实名称,但我一直在尝试不同的可能性。 提前谢谢!

1 个答案:

答案 0 :(得分:16)

data[i][category]

在JS中,obj.propobj['prop']同义。

var foo = {
  bar: 'baz'
};
// foo.bar == foo['bar'] == 'baz'

另外,你正在处理一个javascript对象,而不是JSON(尽管它可能有发起

对于遇到这种情况并使用ES6的人来说,

更新,您现在可以在分配期间使用变量:

const propName = 'bar';
const foo = {
  [propName]: 'baz',
}
// foo.bar == foo[propName] == 'baz'

作为参考,这被认为是ES6规范

的对象初始化器部分下的ComputedPropertyName