Новини високих технологій
» » Стек JavaScript push/pop

Стек JavaScript push/pop

13-04-2017, 09:35
871
В jаvascript немає стека, але є масив, який можна використовувати як стек. При цьому, маніпулюючи методами масиву jаvascript push/pop можна мати в своєму розпорядженні стек, масив і власну організацію даних.
У першому наближенні масиви - це звична і популярна структура даних. Але робота з ними як зі стеком надає їм не передбачені синтаксисом мови можливості. Додавання/видалення за допомогою jаvascript push/pop в кінець або unshift/shift початок не тільки зручно, але і практично.


Використання методів

Масив можна поповнювати новими елементами за допомогою методу push. Результатом цього методу буде нове кількість елементів масиву. Зворотна процедура - метод pop не має параметрів, але видає в якості результату останній елемент масиву.
Як випливає з синтаксису і логіки мови, масиви можуть працювати з даними будь-яких типів.

jаvascript object push - нонсенс чи прогрес?

Мова браузера не поступається своїм більш «вільним» колегам щодо об'єктно-орієнтованого програмування, тобто так само дає можливість створювати об'єкти. При цьому ключового слова, що позначає щось, що має відношення до ООП, не має. Взагалі кажучи, те, що є в jаvascript, досі не дозволив собі мати ні один «вільний» від браузера, мова програмування. Найоригінальніше - створення об'єкта тут - справа рук програміста, починаючи з імені об'єкта.
Методи jаvascript pop&push при використанні об'єктів надають програмісту можливість створити багатофункціональний об'єкт в прямому значенні цього слова. Наприклад, маючи декілька взаємопов'язаних, але різних сторінок (об'єктів, ніяк не пов'язаних між собою логікою діалогу), можна реалізувати рух по ним відвідувача. Помістивши в стек (масив) методом push об'єкт початкової сторінки (прийшов відвідувач), надати йому вибір подальших дій.


Наступний push розмістить зверху об'єкт сторінки, яку вибрав відвідувач. Відкат pop поверне його назад. Рух далі - черговий push, і так буде сформований діалог поточного відвідувача. Це може стати в нагоді розробнику в сенсі досвіду і статистики, так і забезпечити навігацію в поточному сеансі роботи сайту.

Стек, масив та організація даних

Існує багато задач, коли результат вимагає багатоваріантного вибору. Якщо для реалізації вибрати комплект операторів if або case, вийде великий, довгий і розгалужений «кущ» умов.
В цілому це не найгірше рішення, але коли потрібно щось змінити, доведеться довго згадувати, яке умова за яким слід, та й алгоритм вийде нерозбірливим, а найнеприємніше, що може стати джерелом важко виявляються помилок. За допомогою стека практично у всіх випадках можна поступити простіше. Є завдання: потрібно обрати виконавця з сотні доступних. Кожен виконавець може робити щось з трьох позицій (від однієї до трьох в будь-якому поєднанні): t - робити технічне обслуговування; s - може повністю виконувати ремонтні роботи; i - має право робити гарантійний ремонт. Щоб швидко вибрати виконавця для замовлення з потрібним видом (видами робіт), можна зробити три операції jаvascript push і злити масив в один рядок.
Пошук по рядку в рядку завжди наочніше, ніж численні умови. Це простий випадок всього три на три варіанти, але навіть тут буде багато більше коду, ніж в одному порівнянні двох рядків.
Цікаво по темі
Математика від JavaScript Math
Математика від JavaScript Math
Об'єкт Math мови jаvascript реалізує практичний набір математичних функцій. Складні розрахунки можна виконувати всередині браузера, не
JavaScript, масиви: опис
JavaScript, масиви: опис
jаvascript – сучасна мова програмування, він унікальний у частині синтаксису і семантики. Має специфіку...
Обробка рядків. Метод JavaScript replace()
Обробка рядків. Метод JavaScript replace()
Гіпертекст у форматі HTML, CSS, XML, власні варіанти рядкового подання інформації з сервера надходять ...
Javascript Array для збереження необмеженої кількості змінних
Javascript Array для збереження необмеженої кількості змінних
Логічно масив займає проміжне положення між змінними і об'єктами. Практично не слід надавати особливого значення словам. У програмі є змінні і код.
JavaScript: switch case - вибір варіантів
JavaScript: switch case - вибір варіантів
Різноманіття варіантів може бути реалізовано різними способами. Конструкція switch - простий і ефективний спосіб виконати різні дії в залежності від
JavaScript: приклади застосування
JavaScript: приклади застосування
jаvascript - сучасна мова програмування, без якого важко створити динамічний сайт, який привертає увагу. JS ідеально справляється з обробкою