> В чем отличие массивов от объектов в JavaScript (JavaScript)
Уровень: senior · Роль: frontend · Категория: Технические вопросы
Компании: Сбер
Стек: JavaScript
> Пример ответа
Основное отличие массивов от объектов в JavaScript - это структура данных и способ доступа к элементам. Массивы - это упорядоченные коллекции с числовыми индексами (начиная с 0), предназначенные для хранения списков однотипных данных. Объекты - это неупорядоченные коллекции пар «ключ-значение», где ключи - строки (или символы), а значения могут быть любого типа.
Ключевые различия:
-
Индексация: Массивы используют целочисленные индексы (
arr[0]), объекты - строковые ключи (obj.keyилиobj['key']). -
Порядок: Элементы массива гарантированно упорядочены (порядок сохраняется при итерации), у объектов порядок ключей не гарантирован (хотя в современных спецификациях есть частичная упорядоченность для строковых ключей).
-
Методы: Массивы имеют встроенные методы для работы с последовательностями (
.push(),.pop(),.map(),.filter()), объекты - для работы с ключами (.keys(),.values(),.entries()). -
Наследование: Массивы наследуют от
Array.prototype, объекты - отObject.prototype. Это влияет на доступные методы и поведение (например,typeof []вернёт'object', но[] instanceof Array-true). -
Производительность: Массивы оптимизированы для операций с индексами и последовательного доступа, объекты - для быстрого поиска по ключу.
Пример:
JAVASCRIPT// Массив - упорядоченный списокconst fruits = ['apple', 'banana', 'cherry'];console.log(fruits[1]); // 'banana'// Объект - коллекция свойствconst person = { name: 'Alice', age: 30 };console.log(person['name']); // 'Alice'
Когда что использовать:
-
Массивы - для списков, где важен порядок (например, очередь задач, таблица данных).
-
Объекты - для сущностей с именованными свойствами (например, профиль пользователя, настройки).
> Похожие задачи по frontend
Можно ли сравнить два объекта в JavaScript и как это сделать
Какие способы выполнения HTTP-запросов в браузере на JavaScript?
В чем отличие передачи параметров по значению и по ссылке в JavaScript?
Почему нельзя использовать Promise.all для решения задачи с покупателями в JavaScript
> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?
Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью