将对象推送到for循环中的数组

时间:2018-05-31 02:18:11

标签: javascript syntax

所以我对一些看似简单的代码有疑问。 我试图计算斜率为1/2的点。 但我得到的只是空数组对象。



const canvas = {
  width: 1200,
  height: 600
};
const slopeValues = [];
for (let i = canvas.height / 2; i < canvas.height / 2; i--) {
  let obj = {};
  obj.x = i;
  slopeValues.push(obj);
}

console.log(slopeValues)
&#13;
&#13;
&#13;

我还应该提一下,我确实在测试套件(mocha)中构建了原始代码。这不应该影响它,但我不确定我是否是TDD的新手。

2 个答案:

答案 0 :(得分:2)

您的for循环条件已关闭。您设置i = height / 2并将条件设置为i < height / 2。条件已经错了,因为 (i == height / 2) != (i < height)

试试这个:

const canvas = {
  width: 1200,
  height: 600
};
const slopeValues = [];
for (let i = canvas.height / 2; i >= 0 / 2; i--) {
  let obj = {};
  obj.x = i;
  slopeValues.push(obj);
}

console.log(slopeValues)

答案 1 :(得分:0)

你初始化我是300,并且循环通过而我&lt; 300.第一次循环尝试运行时,计算结果为false,因此忽略for循环中的代码。