负运算总是 returns 正值

Minus operation always returns positive value

我正在为数组创建一个类似于函数 RPNCalculator 的方法,但由于某些原因它无法正常工作。

例如,当我尝试执行操作 3 - 8 时,它将 return 5 而不是 -5,对于 3 - 4,它将 return 1 而不是 -1。正如您在 num 变量中看到的那样。

非常感谢您的帮助。

RPN 为 [2, 3 ,4]

RPNCalculator.prototype.minus = function() {
 console.log("First item " + this[this.length - 2] + "\nLast Item " + this[this.length - 1]); 
        /* Logs:First item 3
                Last Item 4 */
 var num = this.pop(this[this.length - 2]) - this.pop(this[this.length - 1]);
 console.log(num);    // logs 1
 this.push(num);
};

问题是您如何使用 poppop 从数组中删除最后一项,returns 删除最后一项。你应该像这样重写你的函数:

RPNCalculator.prototype.minus = function() {
  let lastName = this.pop();
  let firstNum = this.pop();
  this.push(firstNum - lastNum);
};