使用以下生成的数组示例结构,如何遍历并从每个对象中提取属性名称及其关联值?
browser.div(css: '.first_class.second_class')
对象数量可能会发生变化,属性名称也不一致。
答案 0 :(得分:6)
您可以使用Object.keys()[0]
获取密钥,然后使用密钥获取值。
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);
}
&#13;
另请参阅:ECMAScript® Language Specification: 15.2.3.14 Object.keys ( O )
答案 1 :(得分:3)
扩展@AR7&#39; answer,如果每个对象中可能有多个属性,您可以缓存Object.keys()
返回的对象并循环显示数组循环中的每个属性。
使用以下方法,您可以处理对象中的任意数量的属性。
我意识到在这种特定情况下,这可能不比上述答案更有用,但希望它对未来的观众有用。
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]]);
});
&#13;