TGViewer
Вёрстка сайтов | HTML, CSS, JS Вёрстка сайтов | HTML, CSS, JS @free_html_lessons · 4.5K subscribers
Post #2759 669
Задача: Реализовать функцию для "сворачивания" массива

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

Пример:
const input = ['apple', 'banana', 'apple', 'orange', 'banana', 'apple'];
const result = countOccurrences(input);
console.log(result);
// Ожидаемый вывод:
// {
// apple: 3,
// banana: 2,
// orange: 1
// }

Условия:
Функция должна корректно работать с массивами любых типов данных, например, строк, чисел, или даже объектов, если в них используется одинаковая ссылка.
Постарайтесь реализовать решение с минимальным количеством проходов по массиву.

Вопросы для обсуждения на собеседовании:
Как функция будет обрабатывать массив с большим количеством элементов?
Как можно оптимизировать использование памяти при работе с крупными массивами?
Как можно адаптировать функцию для обработки массивов, содержащих объекты с одинаковыми значениями, но разными ссылками?

#домашка
More from @free_html_lessons
  1. Oct 14, 2026Создаём красивую кнопку загрузки с анимацией на CSS Эффектная кнопка загрузки сделает ваш…
  2. Oct 13, 2026Post #3088
  3. Oct 13, 2026Как использовать псевдокласс :has() для навигации С помощью :has() можно улучшить UX меню.…
  4. Oct 12, 2026Как создать адаптивный текстовый градиент Градиенты в тексте — это модный тренд, который м…
  5. Oct 11, 2026Подборка лучших постов за прошлую неделю Лучшие статьи @free_html_lessons: 1. Атрибут rel=…
  6. Oct 9, 2026Post #3083
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →