3 вещи, которые вы не знаете о массивах JavaScript

Массивы являются широко используемой функцией языков программирования; это специальные переменные, которые можно использовать для хранения нескольких значений одновременно. Однако, когда дело доходит до JavaScript, так же легко, как и учиться, всегда есть что изучить.

В этой статье мы рассмотрим три менее известные, но важные функции массивов JavaScript, которые вы, возможно, не знали раньше.

1. Добавить пользовательские свойства в массивы

Если бы вы исследовали Интернет в поисках исчерпывающего определения массивов JavaScript, вы обнаружите, что почти каждый источник в обязательном порядке будет указывать массив как то, что он действительно есть объект.

Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)

На самом деле почти все, с чем мы имеем дело в JavaScript, окажется объектом. В JavaScript есть два типа данных: примитивы и объекты, но примитивы всегда заключаются в объекты.

массив, функция, Свиданиеи т. д. являются предопределенными объектами JavaScript, которые имеют встроенные методы, свойства и собственный стандартизированный синтаксис.

Массивы JavaScript могут иметь три различных типа свойств:

  1. Индексы массива также являются свойствами
  2. Встроенные свойства
  3. Пользовательские свойства, которые вы можете добавить самостоятельно

Первые два более известны, вы можете использовать их каждый день, но давайте посмотрим их быстро, прежде чем перейти к тому, как вы можете добавить свое собственное свойство в массив.
Индексы как свойства
Массивы JavaScript используют синтаксис в квадратных скобках, например, var ary = [«orange»,»apple»,»lychee»];.

Индексы элементов массива в основном являются свойствами, где имена свойств всегда являются неотрицательными целыми числами.

Пара индекс-элемент массива аналогична паре ключ-значение объекта.

Индексы являются уникальной особенностью объекта Array, и, в отличие от других встроенных свойств, они могут быть установлены только с помощью синтаксиса скобок, например, ary.[3] = «персик».
Встроенные свойства
Массивы также имеют встроенные свойства, такие как array.length, Свойство length содержит целочисленное значение, которое обозначает длину массива.

В общем, встроенные свойства часто можно найти в предопределенных объектах JavaScript, таких как массивы. Наряду со встроенными методами они помогают настраивать универсальные объекты, чтобы объекты соответствовали различным потребностям.

Доступ к встроенным свойствам можно получить с помощью object.key или объекта[«key»] синтаксис. Таким образом, вы также можете написать[«length»] чтобы получить доступ к длине массива.
Создание пользовательских свойств для объекта Array
Теперь поговорим о добавлении ваших собственных свойств в массивы. Массивы — это предопределенные объекты, которые хранят разные типы значений с разными индексами.

Обычно нет необходимости добавлять пользовательские свойства в массив; это одна из причин, по которой начинающих обычно не учат этой функции. Фактически, если вы хотите обрабатывать массив как обычный объект, добавляя в него пары ключ-значение, вы также можете использовать обычный объект для своих целей. Но это не означает, что нет особых случаев, когда вы можете использовать тот факт, что массив является объектом, добавив к нему одно или несколько пользовательских свойств.

Например, вы можете добавить в массив пользовательское свойство, которое идентифицирует «вид» или «класс» его элементов, как вы можете видеть это в примере ниже.

Var = [«orange»,»apple»,»lychee»];
ary.itemClass = «фрукты»;

console.log (ary + «are» + ary.itemClass);
// «апельсин, яблоко, личи — это фрукты»

Обратите внимание, что пользовательское свойство, которое вы добавляете в массив, является перечисляемым, что означает, что оно будет выбрано циклами, такими как для … в заявление.

2. Цикл элементов массива

Вы, вероятно, говорите «Я это уже знаю», что, скорее всего, правда, вы уже знаете, как проходить элементы массива. Но также верно и то, что высказывание «циклически проходить через элементы массива» немного абстрактно, поскольку то, что мы на самом деле перебираем, это индексы массива.

Поскольку индексы массива состоят только из неотрицательных целых чисел, мы итерируем целочисленное значение, обычно начиная с нуля и заканчивая на всю длину массива, а затем используем это итеративное значение для доступа к элементу массива с заданным индексом.

Однако, начиная с ECMAScript6, существует способ прямой циклической обработки значений массива без использования индексов, и это можно сделать с помощью цикла for… of.

В массиве цикл for … цикла будет проходить по элементам массива в порядке индексов, другими словами, он будет выполнять итерации по индексам и получать существующее значение массива по заданному индексу. Этот цикл идеален, если вы просто хотите просмотреть все элементы массива и работать с ними.

Var = [«orange»,»apple»,»lychee»];

for (пусть пункт ary) {
  console.log (пункт);
}
// «апельсин», «яблоко», «личи»

Для сравнения с обычным за цикл, мы получаем индексы вместо значений в качестве вывода.

Var = [«orange»,»apple»,»lychee»];

for (var item = 0; item <ary.length; item ++) {
  console.log (пункт);
}
// 0, 1, 2

3. Количество элементов не является его длиной

Обычно, когда мы говорим о длине массива, мы думаем, что это либо число значений, которые содержит массив, либо длина, которую мы дали массиву вручную. Однако в действительности длина массива зависит от самого большого существующего индекса внутри него.

Длина очень гибкое свойство. Независимо от того, фиксировали ли вы длину массива заранее или нет, если вы продолжаете добавлять значения в массив, его длина будет соответственно увеличиваться.

Var = [];
ary.length = 3;
console.log (ary.length);
// 3

ичных[5] = «abcd»;
console.log (ary.length);
// 6
В приведенном выше примере вы можете видеть, что я дал массиву только одно значение с индексом 5, а длина становится 6. Теперь, если вы думаете, что, добавив значение с индексом 5, массив автоматически создал индексы от 0 до 4 , тогда ваше предположение неверно. На самом деле в этом массиве нет индексов от 0 до 4. Вы можете проверить это используя в оператор.

Var = [];
ary.length = 3;
console.log (ary.length);
// 3

ичных[5] = «abcd»;
console.log (ary.length);
// 6

console.log (0 в аре);
// ложный
Массив ary — это то, что мы называем «разреженным» массивом, массивом, где индексы не создаются непрерывно и имеют пробелы. Противоположностью «разреженного» массива является «плотный» массив, в котором индексы непрерывно существуют в массиве, а количество элементов равно длине.

Свойство length также может усекать массив, гарантируя, что самый высокий индекс, присутствующий в массиве, всегда меньше его самого, так как длина всегда численно больше, чем самый высокий индекс по умолчанию,

В приведенном ниже примере вы можете увидеть, как мы теряем элемент с индексом 5, уменьшая длину массива ary.

Var = [];
ary.length = 3;
console.log (ary.length);
// 3

ичных[5] = «abcd»;
console.log (ary.length);
// 6

ary.length = 2;
console.log (ary.length);
// 2

console.log (ичных[5]);
// не определено
Дальнейшее чтение

Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *