Використання indexOf (JavaScript) при роботі з масивами і рядками


Опубликованно 24.12.2017 02:30

Використання indexOf (JavaScript) при роботі з масивами і рядками

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

Метод indexOf JavaScript не позиціонує як операцію пошуку, але з її допомогою можна визначити, де знаходиться символ або підрядок в рядку. Цей метод застосуємо до звичайних масивів.Загальний опис методу

Загальний стиль синтаксису JavaScript визначає, що у рядків і масивів є метод indexOf, який обчислює, де починається шукана підрядок (або просто символ) в рядку, де цей метод був застосований.

У контексті загальної логіки мови число може автоматично перетворюватися в тип даних «рядок». Мова надає програмісту описувач «var» без можливості уточнення, який саме тип даних потрібно було описати. Можливість маніпулювання типами даних - чудова якість JavaScript.

При описі змінної програміст може вказати початкове значення і, відповідно, встановити її тип, але в потрібний момент часу цей тип зміниться у відповідності з вимогами конструкції або виразу, де змінна буде використана.Приклад застосування методу

Описано три змінних: рядок символів - «str», звичайний масив - «arr» і асоціативний масив - «ass». На веб-сторінці є дів з id='scCurrInfo', в який буде поміщений результат. Метод indexOf JavaScript надає для рядків і звичайних масивів.

Всі приклади вибірки (пошуку) підрядків наведені в еквівалентному використанні. Вихідні дані представлені однаковим чином.

Використання JavaScript indexOf array подібно чисто рядковий варіанту: якби цей масив був представлений рядком - ефект був би аналогічним. І хоча рядкове представлення даних, в багатьох випадках, ефективніше застосування масивів, застосування методу indexOf для даних типу array також має сенс.

Результат виконання наведеного коду показує очевидне відповідність між застосуванням методу до звичайних масивів і класичний варіант JavaScript: indexOf string.

Асоціативні масиви відрізняються своєю природою, відносяться до особливої логіки об'єктно-орієнтованого програмування на цій мові. До них метод indexOf непридатний.Правила застосування методу

Незалежно до чого (рядок, масив) застосовується метод indexOf, JavaScript дозволяє вказувати другим параметром число: позицію, після якої слід шукати входження потрібної підрядка (символу).

Пошук завжди йде до першого входження, тобто результатом методу буде число: позиція (індекс масиву), з якої починається шукана підрядок (символ). Відлік позиції та індексу масиву починається з нуля.

Якщо в рядку чи масиві нічого не буде знайдено, результатом буде від'ємне значення - «-1».

Синтаксис мови допускає будь-яку, синтаксично коректні, комбінацію методів і результатів їх виконання. Простіше кажучи, немає необхідності вводити нові змінні. Можна використовувати метод в будь-яких поєднаннях з іншими методами. Можна отримати з дерева DOM який-небудь текст, масив дівов чи іншу сукупність даних і indexOf JavaScript застосувати в точній відповідності з його призначенням. Ефективні варіанти обробки даних

Синтаксис і семантика JavaScript, особливо стосовно об'єктно-орієнтованого програмування, заслуговують поваги, однак це не заважає розробнику формулювати свої алгоритми згідно з його «власною семантикою».

Будь-яка задача несе в собі унікальний сенс, який можна укласти в пропоновані мовою структури даних і конструкції їх обробки. Але набагато простіше будувати об'єкти розв'язуваної задачі, і в їх термінах формулювати її рішення.

Це не тільки більш ефективний результат, але і більш зрозумілий алгоритм, меншу кількість помилок у коді і хороша можливість модифікацій результату згодом: не буде необхідності згадувати: що було зроблено і навіщо.

У програмуванні дуже важливий зрозумілий і читабельний код, особливо, коли доведеться його подальший розвиток через деякий час.

У цьому контексті програміст може представити дані у звичайних рядках, рядки розмістити в об'єктах, а смислове навантаження розмістити за методами, які через indexOf будуть вибирати потрібні елементи в потрібний час.



Категория: Техника