Всё о массивах в JavaScript - Часть 1

Всё о массивах в JavaScript - Часть 1


Привет, читатель) Я мало рассказывал про конструкции языка, и отдавал предпочтение фреймворкам и библиотекам. Сегодня мы это исправим и поговорим про массивы. Статья будет разбита на 2 части, т.к. материала очень много.

Что такое массивы?

Массивы - это структура данных, предназначенная для хранения любых значений, и даже других массивов. Представьте себе холодильник, в котором лежат разные продукты - они в данном случае будут элементами массива. Массивы заключаются в квадратные скобки, и создаются как обычная переменная:

let fridge = ['meat', 'juice', 'cheese'];

Чтобы вызвать элемент массива, мы используем индекс элемента. Массивы отсчитываются с нуля:

fridge[0] // meat

Этого достаточно, чтобы понимать их структуру. Теперь перейдём к св-вам и методам.

Свойства

Length - Оно есть у любого типа данных в JS. Нетрудно догадаться, что данное свойство выводит длинну массива:

fridge.length // 3

Prototype - оно тоже есть у любого типа данных. Оно вам никак не может быть полезно, так что пропустим его. Забавный факт, Array.prototype будет тоже массивом:

Array.isArray(Array.prototype) // true

Методы, возвращающие boolean

Для массивов есть специальные методы, которые никак на него не воздействуют, а лишь дают информацию.

Array.isArray() проверяет, является ли переменная массивом. Этот метод ввели, потому что массив нельзя проверить typeof, т.к. он вернёт 'object':

Array.isArray( [ 0, 1, 2] ) // true
typeof [ 0, 1, 2 ] // 'object'

Array.includes() проверяет наличие элемента в массиве.

[ 0, 1, 2].includes(2) // true

Методы для создания массивов

Array.from() - создаёт массив из массиво-подобного объекта или итерации

Array.from('foo') // ["f", "o", "o"];
Array.from([1, 2, 3], x => x + x) // 2 4 6

Array.of() - создаёт массив из любого типа данных

Array.of(1);         // [1]
Array.of(1, 2, 3);   // [1, 2, 3]
Array.of(undefined); // [undefined]
Array.of('hi', 'a')

Методы, cхожие с методами объектов

Array.prototype.entries() - выдаёт пару ключ/значение, который возвращает объект Array Iterator(в этом параграфе все методы будут возвращать этот объект); работает также как и метод Object.entries().

Пример использования с for...of:

a = ['a', 'b', 'c'];
iterator = a.entries();

for (let e of iterator) {
  console.log(e);
}
// [0, 'a']
// [1, 'b']
// [2, 'c']

Array.prototype.keys() - выдаёт ключи (т.е. индексы) массива. Тоже самое что и Object.keys().

Аналогичный пример:

a = ['a', 'b', 'c'];
iterator = array1.keys(); 
 
for (let key of iterator) {
 console.log(key); // 0 1 2
}

Array.prototype.values() - возвращает все значения массива. Тоже что и Object.values().

a = ['a', 'b', 'c'];
iterator = array1.values();

for (let value of iterator) {
 console.log(value); //  "a" "b" "c"
}

Заключение

Пока что это всё, через пару дней выйдет вторая часть, где мы рассмотрим методы по работе с индексами, изменением массивов и т.д. Спасибо за прочтение)

Report Page