Новини високих технологій
» » Ефективні рядкові операції методом split JavaScript

Ефективні рядкові операції методом split JavaScript

23-11-2017, 23:05
543
Сторінка, завантажена в браузер, представляється деревом елементів, властивості яких багато - це звичайний текст. Інформація, надходить від сервера і відправляється до нього, - також текст. Перенесення центру ваги обробки в браузер робить роботу сайту більш ефективною, знижує навантаження на сервер і дає останньому можливість швидше обслуговувати більшу кількість відвідувачів.
Метод split jаvascript поділяє рядок на складові по конкретному роздільником і формує масив. Метод join поєднує елементи масиву в рядок через заданий рядок. В якості роздільника може виступати символ, рядок або регулярний вираз.


Синтаксис методу split і його сенс

Формат методу jаvascript split (string, limit). Перший параметр - це власне роздільник. Другий параметр - кількість елементів, який буде сформований у вихідному масиві.
У першому прикладі роздільник не вказано в конструкції str.split jаvascript, ні в методі join масиву aStr, отриманого в результаті поділу рядка по передбачуваному роздільником ",". Злиття елементів масиву також проводиться за символом ",". Другий приклад містить помилку: замість коми між літерами "d" і "e" вказана точка. Уникнути ймовірних помилок і одночасно прибрати зайві прогалини дозволяє використання регулярного виразу - приклад 3. В останньому прикладі між істотними елементами рядка можуть бути: кома; крапка з комою; крапка. До і після них може бути будь-яку кількість прогалин. В результаті вийде «чиста» рядок (res) і масив (aStr), містить тільки трилітерні найменування місяців.


Вибір вмісту і роздільників

У деяких випадках може знадобитися не тільки розібрати рядок через заданий роздільник, але і вибрати його теж.
Ефективні рядкові операції методом split JavaScript
У прикладі (4) в якості роздільника при злитті обраний символ "`" бо як у вихідній рядку зустрічаються різні розділювачі. Сумнівно, що результуючий масив зручний для використання, коли в ньому знаходяться різні розділювачі, але галузі застосування можуть визначати різні вимоги до того, як розбирати і збирати рядка.
Однак приклад (4) показує, що jаvascript split повертає коми, крапки та інші символи як елементи масиву. У прикладі (5) в якості розділювачів використовуються цифри. Тут можна маніпулювати, наприклад, розбором списку літератури, робити вибірку списків з нумерацією, виконувати розбір правил CSS або правил HTML.

Особливості строкових функцій

Характерна риса сучасного програмування, особливо інтернет-технологій, - опис і використання змінних без типу. Тип змінної визначається синтаксичною конструкцією, в якій вона застосовується. Цей момент дозволяє використовувати join & split jаvascript в якості відмінного інструменту трансформації будь-яких даних у рядкове представлення. Далі рядок даних поміщається в файл або комірку таблиці бази даних, а при необхідності повертається і розбирається на необхідні дані. Дуже часто зустрічаються ситуації, коли рядок неможливо сформувати в ході аналізу первинних даних. Використовуючи стекові операції pop() та push можна формувати масиви даних, не надаючи значення як, в який момент часу і яке саме це було предметом аналізу.
Сформований масив даних можна злити в єдину рядок за одним роздільником, але тут же розібрати по-іншому. Найпростіший приклад: на вхід надходить кодований сигнал, кожен елемент якого відповідає масиву розшифровок чи пояснень за кодами. Розбираючи вхідні рядок, програміст отримує індекси асоціативного масиву, в якому знаходяться потрібні розшифровки або пояснення.
Хороша область застосування jаvascript для split - перетворення шістнадцяткових чисел у десяткові і навпаки. Алгоритм навіть не потрібно складати: розбір числа і формула перетворення. Ніякого циклу, ніякого аналізу вхідного числа на коректність.

Об'єктно-орієнтовані застосування join & split

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