class Stack { constructor() { this.items=[]; } push(element) { this.items.push(element); } pop() { return this.items.pop(); } peek() { return this.items[this.items.length-1]; } isEmpty() { return this.items.length===0; } size() { return this.items.length; } }帮我修改这段代码,并且增加修改,查找
时间: 2024-02-14 17:17:08 浏览: 123
Stacking代码
5星 · 资源好评率100%
好的,我帮你修改这段代码,并添加 `修改` 和 `查找` 功能:
```javascript
class Stack {
constructor() {
this.items = [];
}
push(element) {
this.items.push(element);
}
pop() {
return this.items.pop();
}
peek() {
return this.items[this.items.length - 1];
}
isEmpty() {
return this.items.length === 0;
}
size() {
return this.items.length;
}
// 新增:修改栈中指定位置的元素
modify(index, element) {
if (index < 0 || index >= this.items.length) {
return false;
}
this.items[index] = element;
return true;
}
// 新增:查找栈中指定元素的位置
search(element) {
return this.items.indexOf(element);
}
}
```
现在这个 `Stack` 类支持了新增的 `修改` 和 `查找` 功能,你可以在栈中指定位置修改元素,也可以查找栈中指定元素的位置。注意,在 `modify` 方法中,我们需要先判断传入的索引 `index` 是否合法,如果不合法就返回 `false`,防止出现错误。
阅读全文