Javascript 循环遍历 JSON 对象数组找到实例,但将它们记录为未定义

标签 javascript arrays node.js json pug

我正在 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) [ {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…} ]

对象格式:对象 { _id: "4598hs9h390b", name: "测试功能", testValue: 3, … }

最佳答案

您正在尝试使用索引访问对象属性。您需要做的是对像 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])
     }
  }

关于Javascript 循环遍历 JSON 对象数组找到实例,但将它们记录为未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52995409/

相关文章:

javascript - 如何将一个选择框设置为与另一个选择框相同?

javascript - 控制台不显示数据

javascript - 如何使用 Tablesorter lib 创建自定义过滤器来搜索全表?

javascript - 计算多维排序数组的平均结果(JavaScript)

javascript - 变量已定义并用作方法参数,但从未使用过值,因此获取 ESLint 未使用的变量

javascript - 有没有办法将选项存储在变量中?

当 HTTP 连接到其他站点运行一段时间后,Node.js 应用程序开始超时 (ETIMEDOUT)

javascript - 如何获取翻译后 Canvas 中图像的左上角坐标?

c - 在 C 中将 2D 元素插入静态 2D 数组

Javascript: indexOf($(this) 获取点击元素的数组索引值?