javascript - 从 JavaScript 中的箭头函数返回数组

标签 javascript arrays function p5.js arrow-functions

我正在 p5.js 中用 JavaScript 制作一个太阳系生成器,我想从箭头函数返回一个 rgb 值数组,但它不起作用。星星是白色的,而不是黄色、橙色或红色。

class Star {
  constructor(x, y) {
    this.x = x;
    this.y = y;
    this.size = random(50, 70);
    this.color = () => {
      let colorChoice = floor(random(6));
      switch(colorChoice) {
        case 0: case 1: case 2: case 3:
          return [255, 255, 0];
          break;
        case 4:
          return [255, 150, 0];
          break;
        case 5:
          return [255, 0, 0];
          break;
      }
    }
  }

  show() {
    noStroke();
    fill(this.color[0], this.color[1], this.color[2]);
    circle(this.x, this.y, this.size);
  }
}

函数本身或其他地方有问题吗?

最佳答案

this.color - 是一个函数。尝试将您的 show() 方法更新为

let color = this.color();
fill(color[0], color[1], color[2]);

关于javascript - 从 JavaScript 中的箭头函数返回数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61479403/

相关文章:

javascript - 为什么这些 Javascript 函数会产生不同的结果?

c++ - C++ 中的罗马数字输出总是 "-858993460",不知道为什么?

javascript - promise 的单一错误处理程序

javascript - Jquery 验证后 OnClick 不起作用

javascript - 使用 NextJS 确保敏感代码仅在服务器端运行,这些代码可以从哪里运行?

javascript - Javascript/Typescript 中对象数组的数据集

javascript - 电话号码未插入数据库

arrays - 珀尔。比较具有重复值的数组

c - 在 C 中使用 malloc 动态创建一个二维指针数组

JavaScript 函数未定义