【问题标题】:Read Elements from Stack without losing them in Javascript从堆栈中读取元素而不会在 Javascript 中丢失它们
【发布时间】:2014-06-25 10:27:01
【问题描述】:

快速提问。假设我有一个堆栈,我可以在其中弹出东西。

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

我如何读取最后一个元素,假设我没有弹出次数?比如点击函数将变量添加到堆栈中,我需要使用最后添加的变量,我该使用哪个命令?

而且,如果我想用另一个变量检查​​堆栈的所有对象,它只是一个带有

的 for 循环
stack[i] != x

提前致谢。

【问题讨论】:

    标签: javascript data-structures stack


    【解决方案1】:

    将最后一个元素分配给变量:

    var x = stack[stack.length - 1]
    

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

    例如,您可能想查看数组中是否有一个或多个对象的键/值对为 '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
    

    请务必check out the various array methods on MDN。

    【讨论】:

      【解决方案2】:

      读取数组中的最后一个元素

      stack[stack.length-1]
      

      stack[i] !== x 比较好

      != 不会发现这种差异,例如 null != undefined

      这些与javascript中的真值和假值有关。

      【讨论】:

        猜你喜欢
        • 2014-02-23
        • 2019-08-12
        • 2020-07-10
        • 1970-01-01
        • 2021-09-01
        • 2019-06-07
        • 2021-05-25
        • 1970-01-01
        相关资源
        最近更新 更多