在Javascript中访问对象数组中的键

use*_*584 -1 javascript

我目前正在使用Javascript开发一个项目.我有一个String对象数组,我想迭代.但是,我无法弄清楚如何访问对象的每个属性的Key.

例如:

var jsonDoc = [
    {
        "Subject": "XXXXXXX",
        "Submitter": "X",
        "Dx": "Affected",
        "Sample Set": "Arab",
        "Sex": "F",
            "Pedigree": "0"
    },
    {
            "Subject": "XXXXXXX",
            "Submitter": "X",
            "Dx": "Affected",
            "Sample Set": "North American",
            "Sex": "F",
            "Pedigree": "0"
    }
]

for( var i = 0; i<jsonDoc.length; i++){
    for(var key in jsonDoc[i]){
        document.write(jsonDoc[i][key]+"<br />");
     }
    document.write("--- <br />");
}
Run Code Online (Sandbox Code Playgroud)

但是,这只打印值而不是键:

XXXXXXX
X
Affected
Arab
F
0
---
XXXXXXX
X
Affected
North American
F
0
---
Run Code Online (Sandbox Code Playgroud)

如何以迭代方式访问主题,提交者等?

Mar*_*sen 5

你已经拥有key内部for循环中变量值的键

只需将您的代码更改为

for( var i = 0; i<jsonDoc.length; i++){
    for(var key in jsonDoc[i]){
        document.write(key + ': '+ jsonDoc[i][key]+"<br />");
     }
    document.write("--- <br />");
}
Run Code Online (Sandbox Code Playgroud)

你会看到:)