Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про JavaScript: array, object, structure

Какие структуры данных существуют в JavaScript?

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

Короткий ответ

В JavaScript существуют примитивные типы (числа, строки, булевы значения) и объектные структуры данных. Основные структуры включают массивы для упорядоченных коллекций, объекты для хранения ключ-значение пар, множества для уникальных значений и карты для любых типов ключей. Каждая структура имеет свои методы и оптимальные сценарии использования.

Длинный ответ

Примитивные типы данных

Базовые примитивы

  • Number: целые и дробные числа

  • String: текстовые данные

  • Boolean: логические значения true/false

  • Undefined: неопределенное значение

  • Null: явное отсутствие значения

  • Symbol: уникальные идентификаторы

  • BigInt: большие целые числа

Объектные структуры данных

Array (Массив)

javascript

// Создание и работа с массивом
const fruits = ['apple', 'banana', 'orange'];
fruits.push('grape'); // Добавление элемента
fruits.pop(); // Удаление последнего элемента

// Методы массива
fruits.map(fruit => fruit.toUpperCase());
fruits.filter(fruit => fruit.length > 5);
fruits.reduce((acc, fruit) => acc + fruit.length, 0);

Характеристики:

  • Упорядоченная коллекция элементов

  • Индексация с 0

  • Динамический размер

  • Гетерогенные элементы (разные типы)

Object (Объект)

javascript

// Создание объекта
const person = {
    name: 'John',
    age: 30,
    isStudent: false
};

// Доступ к свойствам
console.log(person.name); // John
person.city = 'New York'; // Добавление свойства

// Итерация по свойствам
for (let key in person) {
    console.log(key, person[key]);
}

Характеристики:

  • Коллекция ключ-значение

  • Ключи - строки или Symbol

  • Не гарантирует порядок свойств

  • Прототипное наследование

Set (Множество)

javascript

// Работа с Set
const uniqueNumbers = new Set([1, 2, 3, 2, 1]);
uniqueNumbers.add(4); // Добавление элемента
uniqueNumbers.has(3); // Проверка наличия - true
uniqueNumbers.delete(2); // Удаление элемента

// Преобразование в массив
const arrayFromSet = Array.from(uniqueNumbers);

Характеристики:

  • Коллекция уникальных значений

  • Быстрая проверка наличия элемента

  • Сохраняет порядок добавления

Map (Карта)

javascript

// Использование Map
const userMap = new Map();
userMap.set('id', 123);
userMap.set(42, 'answer');
userMap.set({}, 'object key');

// Получение значений
console.log(userMap.get('id')); // 123
console.log(userMap.size); // 3

// Итерация
for (let [key, value] of userMap) {
    console.log(key, value);
}

Характеристики:

  • Коллекция ключ-значение с любыми типами ключей

  • Сохраняет порядок добавления

  • Лучшая производительность для частых операций добавления/удаления

Специализированные структуры

WeakMap и WeakSet

  • Слабые ссылки (не предотвращают сборку мусора)

  • Ключи только объекты

  • Не итерируемы

  • Используются для метаданных

ArrayBuffer и TypedArrays

  • Бинарные данные

  • Фиксированная длина

  • Используются для работы с файлами, сетью

Сравнение структур

Object vs Map

  • Object: строковые ключи, прототип, JSON-совместимость

  • Map: любые ключи, порядок сохранения, лучшая производительность для частых изменений

Array vs Set

  • Array: дубликаты разрешены, порядок по индексу, методы для манипуляций

  • Set: только уникальные значения, быстрый поиск, простые операции

Вывод: Выбор структуры данных зависит от конкретной задачи - массивы для упорядоченных данных, объекты для структурированной информации, Set для уникальности, Map для сложных ключей.

Frontend developer

tech
tech
tech
tech
tech
tech
tech
tech
tech

Ментор по Frontend

Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства

Записаться на консультацию

Уровень

  • Рейтинг:

    4

  • Сложность:

    6

Навыки

  • JavaScript

    JavaScript

Ключевые слова

#array

#object

#structure

Подпишись на React Developer в телеграм

Frontend developer

tech
tech
tech
tech
tech
tech
tech
tech
tech

Ментор по Frontend

Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства

Записаться на консультацию