-1
我目前正在研究一个使用JavaScript的网络应用程序,因为它的前端,我遇到了对象键的问题。Javascript:未定义
我想访问一个对象,我想动态获取对象的关键,但每次我得到一个错误“未定义的键”。
这是我的代码:
var data = JSON.parse(response);
sites = [];
for (var i = 0; i < Object.keys(data[0]).length; i++) {
sites.push(Object.keys(data[0])[i]);
};
for (var x = 0; x < sites.length; x++) {
for (var u = 0; u < Object.keys(data[0])[sites[x]].length; u++) {
console.log(data[0].sites[x])
}
}
data[0]
随着:
Array[4]
BAK
:
Array[4]
BAN
:
Array[4]
BAR
:
Array[4]
BAY
:
Array[4]
BLC
:
Array[4]
BOL
:
Array[6]
BTO
:
Array[6]
CAR
:
Array[5]
CUD
:
Array[4]
DAD
:
Array[4]
sites[]
包含键(例如:BAK,BAN,BAY等)。 我登录的网站,它包含正确的密钥,但每次我打电话data[0].sites[x]
它说“未识别的对象的键”。如果我手动设置它data[0].BAK[x]
,它是成功的。
希望你能帮助我解决并解释为什么会发生这种情况。
'sites'是自己的一个变量,而不是data'的'属性。你有没有尝试过使用'console.log(data [0] .sites [x])'? – evolutionxbox
你可以替换一些特定的行Object.keys(data [0])。请以response.length –
替换,请以文字符号添加您的数据。 –