栈是一种 先进后出的结构
栈常见的操作:
push(element): 添加一个新元素到栈顶位置. -pop():移除栈顶的元素,同时返回被移除的元素。 -peek():返回栈顶的元素,不对栈做任何修改(这个方法不会移除栈顶的元素,仅仅返回它)。 -isEmpty():如果栈里没有任何元素就返回true,否则返回false。 -clear():移除栈里的所有元素。 -size():返回栈里的元素个数。这个方法和数组的length属性很类似。
用原生js实现栈额功能 用class
class stack{
// 创造一个空数组
constructor(){
this.item = []
}
// 入栈
push(el){
this.item.push(el)
}
// 出栈
get pop(){
return this.item.pop()
}
// 返回栈顶元素
get peek(){
return this.item[this.item.length-1]
}
// 是否为空 空返回true 反之false
get isEmpty(){
return !this.item.length
}
// 移除栈里的所有元素
get clear(){
this.item = []
}
// 返回栈里的元素个数
get size(){
return this.item.length
}
}
开始使用:
let stackLast = new stack
console.log(stackLast.isEmpty);
stackLast.push(5)
stackLast.push(4)
stackLast.push(6)
console.log(stackLast.size);
console.log(stackLast.peek);
console.log(JSON.stringify(stackLast))
stackLast.clear
console.log(JSON.stringify(stackLast))
console.log(stackLast.peek);