Добавить в корзинуПозвонить
Найти в Дзене

Объекты как ассоциативные массивы в JavaScript

Когда люди слышат слово «массив», они обычно представляют себе список с номерами: первый пункт, второй, третий. Но в JavaScript есть ещё один полезный приём — использовать объекты как хранилища с именами вместо номеров. Обычный массив обращается к элементам по индексу: А объект позволяет обращаться по названию: По сути, объект в данном случае работает как картотека. Вместо того чтобы говорить «дай мне вторую карточку», вы говорите «дай мне карточку с фамилией Иванов». Создаём пустую картотеку: let товары = {}; Добавляем данные по именам: товары["яблоки"] = 150; товары["бананы"] = 200; товары["апельсины"] = 180; Теперь можно получать цену по названию: console.log(товары["бананы"]); // покажет 200 Можно и короче, через точку: товары.груши = 170; console.log(товары.груши); // покажет 170 Представьте, что вы делаете страницу для магазина продуктов. Пользователь выбирает товары, а программа должна помнить, сколько чего он положил в корзину. Если использовать обычный массив с номерами, придё
Оглавление

Когда люди слышат слово «массив», они обычно представляют себе список с номерами: первый пункт, второй, третий. Но в JavaScript есть ещё один полезный приём — использовать объекты как хранилища с именами вместо номеров.

Что это значит

Обычный массив обращается к элементам по индексу:

  • элемент под номером 0
  • элемент под номером 1

А объект позволяет обращаться по названию:

  • элемент с именем «цвет»
  • элемент с именем «размер»

По сути, объект в данном случае работает как картотека. Вместо того чтобы говорить «дай мне вторую карточку», вы говорите «дай мне карточку с фамилией Иванов».

Как это выглядит в коде

Создаём пустую картотеку:

let товары = {};

Добавляем данные по именам:

товары["яблоки"] = 150;
товары["бананы"] = 200;
товары["апельсины"] = 180;

Теперь можно получать цену по названию:

console.log(товары["бананы"]); // покажет 200

Можно и короче, через точку:

товары.груши = 170;
console.log(товары.груши); // покажет 170

Где это пригодится в жизни

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

Если использовать обычный массив с номерами, придётся каждый раз пробегать весь список и искать «яблоки». А через объект вы сразу обращаетесь к нужному имени.

Пример — корзина покупателя:

Почему это удобно

  1. Быстрота. Не нужно искать — вы сразу знаете «имя» ячейки.
  2. Читаемость. Когда видишь цены["яблоки"], сразу понятно, о чём речь. А цены[5] — ещё вспоминать, что там под пятым номером.
  3. Удобство. Можно добавлять любые названия, не заботясь о порядке.

Важное замечание

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

Когда лучше не использовать

Если важен порядок (например, список дел — первое, второе, третье) или данные идут сплошной нумерацией — лучше подойдёт обычный массив с числами. Для хранилищ же с именованными полями объект подходит лучше всего.

Коротко

Объект в JavaScript можно использовать как картотеку, где у каждой ячейки есть имя вместо номера. Это делает код понятнее и работу с данными быстрее — особенно когда нужно часто обращаться к элементам по смыслу, а не по порядку.

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