--- id: 587d8250367417b2b2512c5e title: Learn how a Stack Works challengeType: 1 forumTopicId: 301705 localeTitle: Узнайте, как работает стек --- ## Description
Вероятно, вы знакомы со стопкой книг на своем столе. Вероятно, вы использовали функцию отмены текстового редактора. Вы также, вероятно, используете для нажатия кнопки «Назад» на своем телефоне, чтобы вернуться к предыдущему виду в приложении. Вы знаете, что у них общего? Все они хранят данные таким образом, чтобы вы могли перемещаться назад. Самая верхняя книга в стеке была той, которая была помещена последней. Если вы удалите эту книгу из верхней части стека, вы откроете книгу, которая была помещена туда до последней книги, и так далее. Если вы думаете об этом, во всех приведенных выше примерах вы получаете тип обслуживания Last-In-First-Out . Мы постараемся имитировать это с помощью нашего кода. Эта схема хранения данных называется стеком . В частности, нам пришлось бы реализовать метод push() который толкает объекты JavaScript вверху стека; и pop() , который удаляет объект JavaScript, который находится в верхней части стека в текущий момент.
## Instructions
Здесь у нас есть набор домашних заданий, представленных как массив: "BIO12" находится у основания, а "PSY44" находится в верхней части стека. Измените данный массив и обработайте его как stack используя описанные выше методы JavaScript. Удалите верхний элемент "PSY44" из стека. Затем добавьте "CS50" в новый верхний элемент стека.
## Tests
```yml tests: - text: homeworkStack should only contain 4 elements. testString: assert(homeworkStack.length === 4); - text: The last element in homeworkStack should be "CS50". testString: assert(homeworkStack[3] === 'CS50'); - text: homeworkStack should not contain "PSY44". testString: assert(homeworkStack.indexOf('PSY44') === -1); - text: The initial declaration of the homeworkStack should not be changed. testString: assert(code.match(/=/g).length === 1 && /homeworkStack\s*=\s*\["BIO12"\s*,\s*"HIS80"\s*,\s*"MAT122"\s*,\s*"PSY44"\]/.test(code)); ```
## Challenge Seed
```js var homeworkStack = ["BIO12","HIS80","MAT122","PSY44"]; // Only change code below this line ```
## Solution
```js // solution required ```