Новини високих технологій
» » Стек можливостей JS array: push() і pop()

Стек можливостей JS array: push() і pop()

2-07-2018, 12:50
516
Стек дозволяє віднести до даних історію зміни значень змінних. Опис даних і алгоритмів лежить в основі програмування. Стек - це основа для передачі управління між функціями, організації рекурсії і посилань на параметри. Синтаксис і семантика jаvascript допомогою методів масиву push() і pop() дають можливість маніпулювати змістом і враховувати фактор часу. Особливість мови браузера і його логіка дозволяють інакше поглянути на можливості фактора часу.

Масив даних і логіка його освіти

Просто описати змінну. Нескладно створити масив змінних. Алгоритм, що використовує дані, - це статичне і просте рішення задачі. Класична робота з даними: описати (створити) змінну; присвоїти значення; змінити значення; видалити змінну. Функції push() і pop() дозволяють змінити сутність змінних та їх використання. Ідея стека не змінилася з моменту її «народження», але особливість JS як мови браузера і сучасної концепції програмування дозволяє врахувати фактор часу та надати даними динаміку.


Функція JS array.push('var value') - додати щось в кінець масиву. Функція JS array.pop() - отримати останній елемент масиву. Покажчик в контексті push/pop при додаванні переміщається на доданий елемент, при витяганні - на передостанній елемент, а останній елемент є результатом виконання операції.
Стос тарілок - традиційне опис стека в jаvascript - набуває нового значення. Нехай завжди змінна - це масив. Власне масив - це сукупність змінних, але розглядаючи змінну як масив, можна інакше подивитися на динаміку зміни її значень.

Рух за значенням

Суть стека - прийшов останнім, пішов першим. Не можна дістати значення поза цього порядку. Строго дотримуючи це правило, розглядаючи значення всього масиву як одну змінну можна отримати динаміку зміни значень цієї змінної в часі.


У цьому прикладі додавання значень JS array.push() - це одна послідовність дій, витяг значень JS array (pop) - інша послідовність. Обидва варіанти дій взаємопов'язані. Це означає, що активний елемент змінює своє значення не тільки по часу, але і за логікою свого зміни.

Рекурсія і динаміка значення

Якщо функція може викликати саму себе і безпечно виконати своє призначення - це повна функціональність. Простий приклад - таблиця. У таблиці можуть бути і інші таблиці. А кожна таблиця - це рядки, стовпці, клітинки. Кожна комірка може містити таблицю. Кілька осередків по рядку або стовпцю можуть бути об'єднані в одну клітинку, у якій може знаходитися таблиця. У таблиці, що міститься в комірці, може бути комірка з двома і більше таблицями. Реалізувати сказане в класичному стилі програмування практично неможливо, але рекурсивном - елементарно. Якщо функціональність алгоритму роботи з таблицею дозволяє реалізувати себе всередині будь-якої комірки - значить, це JS array push. На jаvascript цей «фокус» має особливий сенс. Таблиці - це кероване застосування. Дерево сторінки (DOM) - це робота на сторінці. На елементах DOM (тегах сторінки) висять обробники. Один варіант, коли такий обробник спрацьовує один раз, зовсім інший варіант, коли він може викликати сам себе багато разів. В розрізі всіх обробників всіх елементів сторінки виходить динаміка сторінки в часі.
JS array push/pop і рекурсія - це дещо інше уявлення про логіку роботи сторінки: все змінюється так, як потрібно в поточній ситуації, а не програмується заздалегідь у вигляді послідовної відпрацювання дій відвідувача.
Цікаво по темі
Масиви JS. Об'єкт JS. Багатовимірні масиви JavaScript
Масиви JS. Об'єкт JS. Багатовимірні масиви JavaScript
Перехід від класичного програмування до об'єктно-орієнтованого давно проголошений, але досі не завершено, а всі сучасні мови програмування вже давно
Масиви JS: асоціативний масив в рядок, масив об'єктів. JS: видалити елемент масиву
Масиви JS: асоціативний масив в рядок, масив об'єктів. JS: видалити елемент масиву
Масиви та об'єкти jаvascript представлені простим і зручним синтаксисом, можливістю організації стека і рекурсії, дозволяють реалізувати
Об'єкти та масиви PHP: array push & pop
Об'єкти та масиви PHP: array push & pop
Стекова організація даних зручна для створення динамічної функціональності. Масиви на PHP, функції push & pop на перших і останніх елементах
Стек JavaScript push/pop
Стек JavaScript push/pop
Стекова організація даних - одна з найдавніших в програмуванні. Останнім прийшов, першим пішов - просто ідеальна конструкція не тільки для
Javascript Array для збереження необмеженої кількості змінних
Javascript Array для збереження необмеженої кількості змінних
Логічно масив займає проміжне положення між змінними і об'єктами. Практично не слід надавати особливого значення словам. У програмі є змінні і код.