<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>栈的封装</title>
</head>
<body>
<script>
class Stack {
constructor() {
this.stack = [];
}
// 入栈
push(element) {
this.stack.push(element);
}
// 出栈
pop() {
return this.stack.pop();
}
// 栈顶元素
peek = () => this.stack[this.stack.length - 1];
// 栈是否有元素
isEmpty = () => this.stack.length === 0;
// 栈元素个数
size = () => this.stack.length;
// 将栈内容转为字符串
toString = () => this.stack.join('');
}
const stackArray = ['10', '20', '30', '1', '2', '87878', '96', '6']
var s = new Stack()
for (let index = 0; index < stackArray.length; index++) {
s.push(stackArray[index])
}
console.log('测试是否入栈', s);
console.log('测试栈顶元素', s.peek());
console.log('测试栈是否为空', s.isEmpty());
console.log('测试栈元素个数', s.size());
console.log('测试栈内容以字符串返回', s.toString());
</script>
</body>
</html>
js封装栈
于 2024-01-09 21:44:03 首次发布
![](https://img-home.csdnimg.cn/images/20240611030827.png)