.push似乎没有添加到我的数组中

时间:2019-01-02 22:53:16

标签: processing p5.js

我已经调用了.push函数,但是什么也没有添加到我的数组中。这是我的代码:

function setup() {
  createCanvas(400, 400);
}
let digits = [];
function binaryConverter(num){
  this.num = num;
    for(let i = 0; this.num === 0; i++){
    digits.push(this.num % 2);
    this.num = floor(this.num/=2);
  }
}
function draw() {
  background(220);
  binaryConverter(13);
  print(digits);
}

我希望程序输出数字,但是它输出空数组。

1 个答案:

答案 0 :(得分:0)

for loop中的第二条语句定义了执行循环代码块所必须满足的条件。只要条件满足,循环的代码块就会执行

this.num的初始值为num(在您的情况下为13)。因此,条件this.num === 0永远不会满足,并且循环代码块中的语句也永远不会执行。

在for循环中更改条件语句:

for(let i = 0; this.num === 0; i++)
for(let i = 0; this.num != 0; i++)