如何遍历下面的数组并获取“ car1”的值?下面的代码返回未定义
<script>
var myObj = {
"cars": {
"car1":"Ford",
"car2":"BMW",
"car3":"Fiat"
},
"cars2": {
"car1":"Ford2",
"car2":"BMW2",
"car3":"Fiat2"
}
}
for (x in myObj) {
alert(x.car1);
}
</script>
最佳答案
在您的循环中:
for (x in myObj) {
alert(x.car1);
}
x是对象的键的字符串值。为了获得嵌套对象的car1属性,可以将循环更改为:
for (x in myObj) {
alert(myObj[x].car1);
}
在
for-in
循环中使用hasOwnProperty也是一种好习惯,它也可能会遍历对象原型链中的属性。for (x in myObj) {
if (myObj.hasOwnProperty(x)) {
alert(myObj[x].car1);
}
}