我正在尝试使用通过函数传递的变量访问 JSON:
function highlightCategory (category) {
for (var i in data) {
console.log(data[i].category)
}
}
显然,这不起作用,因为“类别”是我通过函数传递的,而不是属性的真实名称,但我一直在尝试不同的可能性,但没有成功。提前致谢!
我正在尝试使用通过函数传递的变量访问 JSON:
function highlightCategory (category) {
for (var i in data) {
console.log(data[i].category)
}
}
显然,这不起作用,因为“类别”是我通过函数传递的,而不是属性的真实名称,但我一直在尝试不同的可能性,但没有成功。提前致谢!
data[i][category]
在 JS 中,obj.prop
是obj['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'
作为参考,这被认为是ComputedPropertyName
ES6 规范的对象初始化器部分。