我正在Pug模板中运行脚本。该脚本首先从MongoDB中读取JSON对象数组。使用for循环迭代字符串数组(data
)以访问每个JSON对象(doc
)。之后,我遍历每个对象的键/值对(col
),其中有一个固定的数字(20
)。
var data = !{JSON.stringify(response.features)}
for(var doc = 0; doc <= data.length; doc++)
for(var col = 1; col <= 20; col++)
console.log(data[doc[col]])
有8个对象,每个对象具有20个键/值对(列)。因此,我可以看到180个返回的undefined
实例这一事实表明该代码运行正常,但是由于某种原因我无法访问或查看返回的数据?最终目的是生成一张表,其中每一行对应一个对象的键/值对。
数组格式:Array(8) [ {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…} ]
对象格式:Object { _id: "4598hs9h390b", name: "test feature", testValue: 3, … }
答案 0 :(得分:1)
您正在尝试使用索引访问对象属性。您需要做的是在Object.keys()之类的键上使用迭代器。
尝试此操作以获取数据:
var data = !{JSON.stringify(response.features)}
for(var doc = 0; doc <= data.length; doc++)
Object.keys(data[doc]).forEach(function(key,index) {
console.log(data[doc][key])
});
或
var data = !{JSON.stringify(response.features)}
for(var doc = 0; doc <= data.length; doc++) {
for(var col of Object.keys(data[doc])) {
console.log(data[doc][col])
}
}
答案 1 :(得分:0)
这是您的错误:
console.log(data[doc[col]])
应该是:
console.log(data[doc][col])