--- id: 587d8250367417b2b2512c5e title: Learn how a Stack Works challengeType: 1 videoUrl: '' localeTitle: Aprende cómo funciona una pila --- ## Description
Probablemente esté familiarizado con la pila de libros en su mesa. Es probable que haya utilizado la función de deshacer de un editor de texto. También es probable que esté acostumbrado a presionar el botón Atrás de su teléfono para volver a la vista anterior en su aplicación. ¿Sabes lo que todos tienen en común? Todos ellos almacenan los datos de una manera que puede desplazarse hacia atrás. El libro más alto de la pila fue el que se colocó allí por última vez. Si quita ese libro de la parte superior de su pila, expondría el libro que se colocó allí antes del último libro y así sucesivamente. Si lo piensa, en todos los ejemplos anteriores, está recibiendo el tipo de servicio de último en entrar , primero en salir . Intentaremos imitar esto con nuestro código. Este esquema de almacenamiento de datos se llama una pila . En particular, tendríamos que implementar el método push() que empuja los objetos JavaScript en la parte superior de la pila; y el método pop() , que elimina el objeto JavaScript que está en la parte superior de la pila en el momento actual.
## Instructions
Aquí tenemos una pila de asignaciones de tareas representadas como una matriz: "BIO12" está en la base, y "PSY44" está en la parte superior de la pila. Modifique la matriz dada y trátela como una stack usando los métodos de JavaScript mencionados anteriormente. Retire el elemento superior "PSY44" de la pila. Luego agrega "CS50" para que sea el nuevo elemento superior de la pila.
## Tests
```yml tests: - text: homeworkStack solo debe contener 4 elementos. testString: 'assert(homeworkStack.length === 4, "homeworkStack should only contain 4 elements.");' - text: El último elemento en homeworkStack debería ser "CS50" . testString: 'assert(homeworkStack[3] === "CS50", "The last element in homeworkStack should be "CS50".");' - text: homeworkStack no debe contener "PSY44" . testString: 'assert(homeworkStack.indexOf("PSY44") === -1, "homeworkStack should not contain "PSY44".");' - text: La declaración inicial de homeworkStack no debe ser cambiada. testString: 'assert(code.match(/=/g).length === 1 && /homeworkStack\s*=\s*\["BIO12"\s*,\s*"HIS80"\s*,\s*"MAT122"\s*,\s*"PSY44"\]/.test(code), "The initial declaration of the homeworkStack should not be changed.");' ```
## Challenge Seed
```js var homeworkStack = ["BIO12","HIS80","MAT122","PSY44"]; // Only change code below this line ```
## Solution
```js // solution required ```