访问对象数组中具有未知属性名称的生成属性
Access generated properties with unknown property names in array of objects
使用下面生成的数组示例结构,我如何从每个对象中循环并提取属性名称及其相关值?
[{"bg_2":"0.50"},{"bg_7":"0.10"},{"bg_12":"0.20"}]
对象的数量可能会改变,并且属性名称将不一致。
您可以使用Object.keys()[0]
获取密钥,然后使用密钥获取值。
JSFiddle
var myData = [{"bg_2":"0.50"},{"bg_7":"0.10"},{"bg_12":"0.20"}];
for (var i = 0; i < myData.length; i++) {
var myObject = myData[i];
var firstKey = Object.keys(myObject)[0];
var value = myObject[firstKey];
console.log(firstKey + ": " + value);
}
参见:ECMAScript®语言规范:15.2.3.14对象。
扩展@AR7的答案,在每个对象中可能有多个属性的情况下,您可以缓存Object.keys()
返回的对象,并在数组循环中遍历每个属性。
使用下面的方法,你可以处理对象内任意数量的属性。
我意识到在这个特定的情况下,这个答案可能并不比前面提到的答案更有用,但希望它对未来的观众有用。
JSFiddle
var a = [
{ "bg_2":"0.50", "bg_7":"0.10", "bg_12":"0.20"},
{ "bg_2":"0.50", "bg_7":"0.10"},
{ "bg_2":"0.50"}
];
a.forEach(function(o){
console.log(o);
var k = Object.keys(o);
for(var i in k)
console.log(k[i], ':', o[k[i]]);
});
相关文章:
- JavaScript 这返回未知属性
- AngularJS 未知类型错误:无法读取 null 的属性“1”
- 未知的目标实体属性错误
- 如何使属性动态化(在执行代码之前未知)
- 量角器未知错误,从 DOM 中删除属性
- 为什么
- Angular js:->访问解析属性时,angular引发未知提供程序错误
- 属性名称未知的Mustache模板
- 如何在属性名称未知的情况下解析JSON数据
- 在 JavaScript 中的对象中设置具有未知深度的属性值
- 传递未知数量的对象属性
- 如何更改src属性的一部分未知
- 将变量传递给React组件会给出“未知属性error”
- Uncaught InvalidValueError:未知的属性来源
- 访问对象数组中具有未知属性名称的生成属性
- 安全-可以创建具有未知属性的对象
- JS模板和未知属性
- 读取未知属性的名称
- 未知属性@Validation.For("orderName")
- 访问javascript中未知对象的属性