因此,我使用如下内置.push(e)
函数创建了一个函数,用于将用户输入的字符串推入堆栈:
push() {
const arrays = this.array.push(String(this.userInput))
console.log(this.array)
}
每次单击按钮,控制台都会更新该数组,以将用户输入到我也输入的HTML文本字段中的内容进行推送。我把它展示给一个朋友,他们告诉我,这种方法在我制作一堆堆栈时有点作弊,而且有一种方法可以...
仅使用索引,计数和数组来实现堆栈。
从概念上讲,我知道这些是什么,索引是给定数组中的对象位置,而数组是相同变量类型的对象的集合,并且表面上看是一个计数(如果我错了,请纠正我)。但是,将这些概念捆绑在一起以实现堆栈的想法超出了我一点,因为我是第一学期计算机科学专业的学生,是否有一个通俗易懂的术语方式来解释如何将这些东西捆绑在一起以实现堆栈?
若要在不使用内置push
方法的情况下执行操作,只需在数组的当前长度处将其分配给索引。无需跟踪任何其他变量:
push() {
this.array[this.array.length] = String(this.userInput);
// if you also need your implementation to return the new length, then:
return this.array.length;
}
或者,对于pop
:
pop() {
const item = this.array[this.array.length - 1];
this.array.length = Math.max(this.array.length - 1, 0);
return item;
}
请记住,它会push
返回数组的新长度,因此const arrays = this.array.push(String(this.userInput))
不会给您返回数组。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句