var MinStack = function() {
this.arr = [];
};
MinStack.prototype.push = function(val) {
var a = this.arr.length;
this.arr[a] = val;
}
MinStack.prototype.pop = function() {
var a = this.arr.length - 1;
var midm = this.arr[a];
this.arr[a] = undefined;
this.arr.length = a;
return 4;
};
MinStack.prototype.top = function( arr) {
var a = this.arr.length - 1;
return this.arr[a];
};
MinStack.prototype.getMin = function() {
var req;
var mid;
****req = MinStack.top;
MinStack.pop;
while(this.arr.length > 0){
mid= MinStack.top;
MinStack.pop;****
(mid < req)&&(req = mid)||(mid = 0);
}
return req;
};
在getMin中想调用MinStack的两个方法top和pop,但是返回值都是undefined,求教各位大佬哪里出问题了!
你用this.top() this.pop()试试呢?
class MinStack {
arr =[]
constructor(arr){
this.arr = arr;
}
}
MinStack.prototype.push = function(val) {
var a = this.arr.length;
this.arr[a] = val;
}
MinStack.prototype.pop = function() {
var a = this.arr.length - 1;
var midm = this.arr[a];
this.arr[a] = undefined;
this.arr.length = a;
return 4;
};
MinStack.prototype.top = function() {
var a = this.arr.length - 1;
return this.arr[a];
};
MinStack.prototype.getMin = function() {
//this.push()
//this.pop()
//this.top()
//this.getMin()
return Math.min(...this.arr);
};
let ms = new MinStack([1,2,3]);
let min = ms.getMin();
console.log(min);
使用this获取