从Stack中读取元素而不会丢失它们



快速提问。假设我有一个堆栈,我在那里弹出东西。

var stack = [];
stack.push(2);       // stack is now [2]
stack.push(5);       // stack is now [5]

如何读取最后一个元素,假设我没有pop的个数?例如,单击函数向堆栈添加一个变量,我需要使用最后添加的变量,我该使用哪个命令?

还有,如果我想用另一个变量检查堆栈中的所有对象是否只是用

进行for循环
stack[i] != x

将最后一个元素赋值给变量:

var x = stack[stack.length - 1]

如果你的数组元素是对象,你需要根据变量来检查对象的属性

例如,你可能想看看数组中是否有一个或多个键/值对为'number'/2的对象。您可以使用some来检查:

var x = 2;
var arr = [{ number: 1 }, { number: 2 }, { number: 3 }];
var some = arr.some(function (el) {
  return el.number === x;
}); // true

请务必查看MDN上的各种数组方法

读取数组的最后一个元素

stack[stack.length-1]

stack[i] !== x比较好

!=不能捕捉到这种差异,例如null != undefined

最新更新