JavaScript嵌套对象数组,如何循环遍历数组的 'KEY'?

标签 javascript arrays javascript-objects

var myCollection = {
"cars": [
          { "name":"Ford", "models":[ "Fiesta", "Focus", "Mustang" ] },
          { "name":"BMW", "models":[ "320", "X3", "X5" ] },
          { "name":"Fiat", "models":[ "500", "Panda" ] }
        ]
}
for ( x in myCollection ) {
  document.getElementById("id1").innerHTML += x + "<br />";
}

答:汽车
同样,我如何显示数组内的 'KEY' 值,即 “姓名”“模特”

for ( x in myCollection.cars ) {
  document.getElementById("id1").innerHTML += x + "<br />"; 
}

答:
0
1
2

为什么它返回数组索引值,如何显示 'KEY' 值 'name''models'

预期答案:

name      models 
name OR models
name models

最佳答案

for 循环遍历每个索引,因此您必须获取该索引并深入到数组中

var myCollection = {
"cars": [
          { "name":"Ford", "models":[ "Fiesta", "Focus", "Mustang" ] },
          { "name":"BMW", "models":[ "320", "X3", "X5" ] },
          { "name":"Fiat", "models":[ "500", "Panda" ] }
        ]
}
for ( x in myCollection.cars ) {
  var keys = Object.keys(myCollection.cars[x])
  document.getElementById("id1").innerHTML += keys[0] + "<br />";
}

myCollection.cars[x] 是获取数组中特定对象的方法,并从 Object.keys() 中获取该对象的键。如果你想要值和键

for ( x in myCollection.cars ) {
  var keys = Object.keys(myCollection.cars[x])
  document.getElementById("id1").innerHTML += 
     keys[0] + " : " + myCollection.cars[x].name + " <br />" +
     keys[1] + " : " + myCollection.cars[x].models + "<hr />";
}

关于JavaScript嵌套对象数组,如何循环遍历数组的 'KEY'?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45845407/

相关文章:

c# - 在 PreRender 中读取脚本标签

javascript - JavaScript 中的作用域

javascript - splice 从数组及其父数组中删除 - 奇怪的问题

javascript - TypeScript - 自定义类元素的 Array.map

javascript - 从 javascript 对象数组中选择对象子集

javascript - 将字符串与 JavaScript 对象中的键进行比较

javascript - Tomcat 中的 CSRF 保护

javascript - Angular 4 通用延迟加载错误

arrays - 日期字典数组

c - 排序数组 union 的中位数 - 递归结束后做什么