使用变量访问 JSON 属性(字符串)
Accessing a JSON property (String) using a variable
我正在尝试使用我通过函数传递的变量访问 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'
作为参考,这被视为 ES6 规范的对象初始值设定项部分下的一个ComputedPropertyName
。
相关文章:
- 如何替换数据属性中的特定字符串单词
- 未捕获的InvalidValueError:setIcon:不是字符串;并且没有url属性;并且没有路径属性
- 如何在只接受字符串值/文字的HTML属性中调用函数
- 获取一个对象´s属性的名称使用字符串
- 如何从字符串变量访问对象属性
- 作为onclick确认的一部分,Razor中的字符串属性
- 将非字符串属性与下划线匹配.js在哪里
- Javascript将NaN字符串属性转换为可用数字
- node.js根据字符串属性名称设置属性
- 使用JavaScript过滤字符串属性上的JSON
- 如何按字符串属性对对象数组进行排序
- 在数组上设置字符串属性的缺点是什么?
- 字符串属性未反序列化
- 使用/不使用moment.js时删除字符串属性
- 提取对象数组的字符串属性
- 在 angularjs 控制器中本地化字符串属性
- 闭包编译器更新字符串属性名称引用
- 创建一个包含字符串属性的对象 litteral
- 如何通过部分字符串属性过滤ng-repeat中的值
- javascript中的串接字符串属性