function stack(){
var items = [];
this.push = function(element){
items.push(element);
}
this.pop = function(element){
return items.pop(element);
}
this.peek = function(){
return items[items.length-1];
}
this.isEmpty = function(){
return items.length == 0;
}
this.clear = function(){
return items = [];
}
this.size = function(){
return items.length;
}
this.print = function(){
return items.toString()
}
}
使用stack进制转换
function baseConverter(num,base){
var stacka = new stack(),
rem,
str="",
digits = '0123456789ABCDEF';
while(num>0){
rem = Math.floor(num%base);
stacka.push(rem);
num = Math.floor(num/base);
}
while(!stacka.isEmpty()){
str += digits[stacka.pop()];
}
return str
}
console.info(baseConverter(11122,16));