负运算总是 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);
};
问题是您如何使用 pop
。 pop
从数组中删除最后一项,returns 删除最后一项。你应该像这样重写你的函数:
RPNCalculator.prototype.minus = function() {
let lastName = this.pop();
let firstNum = this.pop();
this.push(firstNum - lastNum);
};
我正在为数组创建一个类似于函数 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);
};
问题是您如何使用 pop
。 pop
从数组中删除最后一项,returns 删除最后一项。你应该像这样重写你的函数:
RPNCalculator.prototype.minus = function() {
let lastName = this.pop();
let firstNum = this.pop();
this.push(firstNum - lastNum);
};