javascript - 我的 'for' 循环未在 JavaScript 中运行(使用 Node.js 运行 JavaScript 文件)

标签 javascript node.js

考虑:

let data = [{
    a: 93,
    b: 23,
    c: 56
  },
  {
    a: 96,
    b: 14,
    c: 45
  },
  {
    a: 83,
    b: 5,
    c: 65
  },
  {
    a: 99,
    b: 16,
    c: 47
  },
  {
    a: 78,
    b: 31,
    c: 59
  },
]

let isdata = {
  a: 50,
  b: 34,
  c: 32
}

let prop_names = Object.keys(data[1])
console.log(prop_names)
let answers = []

for (let q = 0; q > prop_names.length; q++) {
  console.log(answers)
  for (let i = 0; i > data.length; i++) {
    answers[q] += data[i].propnames[q]
  }
}

for (let x = 0; x > answers.length; x++) {
  answers[x] /= data.length
}

console.log(answers)

正如您从代码片段中可以看到的那样,当我 console.log 在 for 循环内应答时,它不会运行,但在 for 循环外部时,它会运行。该代码应该循环遍历每个对象的每个属性并对值进行平均。

最佳答案

您共享的代码存在问题:

  1. 循环条件不正确。您已使用>而它应该是< .

  2. 您尚未初始化answers数组,但您正在使用 +=添加current valueprevious value .

  3. 您正在访问data数组不正确。正确的语法是 data[i][props_names[q]] 。看看the bracket notation to access an object property

可行的解决方案如下:

var data = [{
    a: 93,
    b: 23,
    c: 56
  },
  {
    a: 96,
    b: 14,
    c: 45
  },
  {
    a: 83,
    b: 5,
    c: 65
  },
  {
    a: 99,
    b: 16,
    c: 47
  },
  {
    a: 78,
    b: 31,
    c: 59
  },
]

var isdata = {
  a: 50,
  b: 34,
  c: 32
}

var prop_names = Object.keys(data[1])
console.log(prop_names)
var answers = Array.from(prop_names, () => 0);

for (var q = 0; q < prop_names.length; q++) {

  for (var i = 0; i < data.length; i++) {
    answers[q] += data[i][prop_names[q]]
  }
}

for (var x = 0; x < answers.length; x++) {
  answers[x] /= data.length
}

console.log(answers)

关于javascript - 我的 'for' 循环未在 JavaScript 中运行(使用 Node.js 运行 JavaScript 文件),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53070109/

相关文章:

javascript - 以非线性方式调整一组相邻 div 的位置

javascript - 重复的 AJAX 请求使浏览器变慢

node.js - 使用 mongoose 在 mongodb 中执行聚合时返回空对象,这是为什么?

javascript - 当新行从应用程序插入到 mysql 表时,监听来自 Node 服务器 js 的事件

node.js - 运行mupx部署时引发新的NodeJS错误

javascript - Service Worker 标记为冗余

javascript - 获取子节点的最佳方法

javascript - 尝试通过填写对象来理解函数和回调范围

node.js - 在 node.js 中使用 Swig 模板引擎是错误的吗?

node.js - Docker 容器与主机不同步