Javascript 中需要通过 Jasmine 测试的向量

Vectors in Javascript that need to pass a Jasmine test

我最近才开始编码,我仍在努力弄清楚一切是如何工作的,我的老师给了我这项工作,并教我们如何制作构造函数,但没有其他内容。我想知道是否有人可以帮助我完成 Add 函数以便它通过测试,然后希望从那里我可以自己推断出其他函数,谢谢 :)。

这是规格 enter image description here

这是当前代码状态

  constructor(pX, pY, pZ) {
    this.setX(pX);
    this.setY(pY);
    this.setZ(pZ);
  }
  getX() {
    return this.mX;
  }
  setX(pX) {
    this.mX = pX;
  }
  getY() {
    return this.mY;
  }
  setY(pY) {
    this.mY = pY;
  }
  getZ() {
    return this.mZ;
  }
  setZ(pZ) {
    this.mZ = pZ;
  }

  add(vec) {
    var mX, mY, pX, pY, x, y;

    mX = this.getX();
    mY = this.getY();
    pX = vec.x;
    pY = vec.y;
    x = mX + pX;
    y = mY + pY;

    return new Vector(x, y);
  }

这是我必须通过的茉莉花测试

enter image description here

如果有人能告诉我如何编写 add 函数的代码,希望我可以自己完成剩下的工作。

与您的规格完全相同。对于您的添加方法,这是我写的。

add(pVector) {
    return new Vector(this.getX() + pVector.getX(), this.getY() + pVector.getY(), this.getZ() + pVector.getZ())
}

如果您希望能够手动检查变量,则可以使用变量,但对我来说,为了方便起见,我只是将它们省略了。如果您只需将“vec.x”和vec.y”更改为“vec.getX()”和“vec.getY()”,您就可以开始工作了。虽然我我自己对这种语言不太熟悉。所以只是复制了我的当前工作方法。但是你在编写 getX() 之后的原因是因为你已经从 David 给我们的代码中获取和设置向量的 X 值的方法。所以你只需调用 Vector vec,然后你就会得到 X 值“getX()”。

可能解释得不好,但如果您需要更多,请随时将我添加到光盘中,我也在通过这个 atm SEIORI#5498

几乎所有方法都可以遵循此公式,只需根据方法更改运算符即可。