3 речей, які ви не знаєте про масиви JavaScript
Масиви є широко використовуваною особливістю мов програмування; вони є спеціальні змінні які можуть бути використані для зберігання декількох значень одночасно. Однак, коли мова йде про JavaScript, так само легко, як і навчитися, завжди можна вивчити більше.
У цій публікації ми подивимося на три менш відомі, але важливі особливості масивів JavaScript, які ви раніше не знали.
1. Додайте власні властивості до масивів
Якщо ви хотіли бити в Інтернеті шукаючи ретельного визначення масивів JavaScript, ви побачите, що майже кожен джерело безперечно запише масив, як він дійсно є, об'єкт.
Насправді, майже все, що ми маємо справу з JavaScript, буде виявляється об'єктом. У JavaScript існує два типи типів даних, примітиви і об'єктів, але примітиви завжди обертаються всередині об'єктів.
Масив, Функція, Дата і т.д. попередньо визначені об'єкти JavaScript які мають вбудовані методи, властивості та власний стандартизований синтаксис.
Масиви JavaScript можуть мати три різні типи властивостей:
- Індекси масиву є також властивості
- Вбудовані властивості
- Власні властивості можна додати самостійно
Перші два більш відомі, ви можете використовувати їх кожен день, але давайте швидко побачимо їх, перш ніж перейти до того, як ви можете додати власні властивості до масиву.
Індекси як Властивості
Масиви JavaScript використовують синтаксис квадратної дужки, як от var ary = ["помаранчевий", "яблуко", "лічі");
.
Індекси елементів масиву в основному властивості де імена властивостей є завжди невід'ємні цілі числа.
The пара-індекс-елемент масиву схожий на пара ключ-значення об'єкта.
Індекси є унікальною особливістю об'єкта Array, і на відміну від інших вбудованих властивостей, вони можуть бути встановлюється лише синтаксисом у дужках, як от [3] = "персик";
.
Вбудовані властивості
Масиви також є вбудовані властивості, як от array.length
. The довжини
властивість несе ціле значення, яке позначає довжину масиву.
Взагалі, вбудовані властивості часто можна знайти в попередньо визначених об'єктах JavaScript, таких як масиви. Разом з вбудованими методами вони допомагають налаштувати загальні об'єкти таким чином, щоб об'єкти підходили для різних потреб.
Доступ до вбудованих властивостей можна отримати за допомогою object.key
або object ["ключ"]
синтаксис. Так що ви також можете написати ary ["length"]
для доступу до довжини масиву.
Створення власних властивостей для об'єкта масиву
Тепер, давайте поговоримо додавання власних властивостей до масивів. Масиви - це попередньо визначені об'єкти, які зберігають різні типи значень за різними індексами.
Зазвичай не потрібно додавати власні властивості до масиву; це одна з причин, чому початківці зазвичай не вчать про цю функцію. Насправді, якщо ви хочете, щоб обробляти масив як звичайний об'єкт, додаючи до нього пари ключ-значення, ви можете також використовуйте звичайний об'єкт для своєї мети. Але це не означає, що їх немає особливих випадків де можна скористатися тим фактом, що масив є об'єктом, додаючи до нього один або більше власних властивостей.
Наприклад, ви можете додати власне властивість до масиву ідентифікує «вид» або «клас» його елементів, як ви можете бачити в прикладі нижче.
var ary = ["помаранчевий", "яблуко", "лічі"); ary.itemClass = "плоди"; console.log (ary + "є" + ary.itemClass); // "апельсин, яблуко, лічі - фрукти"
Зауважте, що користувацьке властивість, яку ви додаєте до масиву, є перечислимо, це означає, що він буде підібраний за допомогою петель, таких як для… в
заяву.
2. Прокрутіть елементи масиву
Ви, напевно, скажете "я знаю, що вже", що, швидше за все, правда, ви вже знаєте, як пройти через елементи масиву. Але також вірно, що висловлювання "петлі через елементи масиву" є трохи абстрактним, оскільки те, що ми насправді обертаємо, є індекси масиву.
Оскільки індекси масиву складаються тільки з невід'ємні цілі числа, ми перебираємо ціле значення, починаючи з нуля і закінчуючи повної довжиною масиву, а потім використовуємо це ітераційне значення для доступу до елемента масиву за заданим індексом.
Однак, оскільки ECMAScript6, є спосіб безпосередньо через значення масиву не заважаючи індексам, і це можна зробити за допомогою за…
петлі.
У масиві, за…
петля буде прокручуватися через елементи масиву у порядку індексів, іншими словами, вона піклується про перебір індексів і отримання існуюче значення масиву за заданим індексом. Цей цикл ідеальний, якщо ви просто хочете прокрутити всі елементи масиву, і працювати з ними.
var ary = ["помаранчевий", "яблуко", "лічі"); for (let item of ary) console.log (елемент); // "помаранчевий", "яблуко", "лічі"
Для порівняння, з регулярними для
цикл, ми отримуємо індекси замість значень як вихідні.
var ary = ["помаранчевий", "яблуко", "лічі"); для (var item = 0; елемент < ary.length; item++) console.log(item); // 0, 1, 2
3. Кількість елементів не є його довжиною
Як правило, коли ми говоримо про довжина масиву, ми вважаємо, що це або кількість значення масиву, або довжина, яку ми дали вручну. Однак насправді довжина масиву залежить від найбільший існуючий індекс всередині.
Довжина a дуже гнучка власність. Якщо ви вже зафіксували довжину масиву чи ні, якщо ви продовжуєте додавати значення до масиву, його довжину відповідно зростає.
var ary = []; ary.length = 3; console.log (ary.length); // 3 ary [5] = "abcd"; console.log (ary.length); // 6
У наведеному вище прикладі можна побачити, що я дав масиву тільки одне значення в індексі 5, а довжина стає 6. Тепер, якщо ви думаєте, що додавши значення в індекс 5, масив автоматично створив індекси від 0 до 4 , потім Ваше припущення неправильне. Є дійсно немає існуючих індексів від 0 до 4 у цьому масиві. Ви можете перевірити це за допомогою в
оператора.
var ary = []; ary.length = 3; console.log (ary.length); // 3 ary [5] = "abcd"; console.log (ary.length); // 6 console.log (0 inary); // помилковий
Масив ар
це те, що ми називаємо a "розріджений" масив, масив де індекси не створюються постійно, і є прогалини. Протилежність "розрідженого" масиву - це "щільний" масив де індекси існують безперервно в масиві, а кількість елементів є такими ж, як довжини
.
The довжини
власність також здатна усікання масиву, переконавшись, що найвищий індекс присутній в масиві завжди менше самого себе, як довжини
за замовчуванням завжди перевищує найвищий індекс.
У наведеному нижче прикладі можна побачити, як ми втрачаємо елемент у покажчику 5, зменшуючи його довжини
з ар
масив.
var ary = []; ary.length = 3; console.log (ary.length); // 3 ary [5] = "abcd"; console.log (ary.length); // 6 ary.length = 2; console.log (ary.length); // 2 console.log (ари [5]); // undefined
Подальше читання
- 10 термінів JavaScript, які ви повинні знати зараз
- 4 не дуже поширені, але корисні оператори Javascript, які ви повинні знати
- Оптимізація коду за допомогою JS Hint - інструмент для linting Javascript