Определение частоты появления чисел в массиве

Пройдите массив и увеличивайте счётчик для каждого числа. В примере J — неопределённый идентификатор; для указанного результата последним элементом должно быть число 3.

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

Что ответить на собеседовании

Пройдите массив и увеличивайте счётчик для каждого числа. В примере J — неопределённый идентификатор; для указанного результата последним элементом должно быть число 3.

Подробный разбор

Ответ с пояснениями

Условие

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

function getFrequency(input) {}
console.log(getFrequency([1, 2, 2, 3, 3, J])); // { 1: 1, 2: 2, 3: 3 }

Функция должна корректно обрабатывать любые наборы чисел и формировать объект‑отчёт о количестве их появлений.

Ответ

Пройдите массив и увеличивайте счётчик для каждого числа. В примере J — неопределённый идентификатор; для указанного результата последним элементом должно быть число 3.

function getFrequency(input) {
  const result = {};
  for (const number of input) {
    if (!Number.isInteger(number)) throw new TypeError('Ожидается целое число');
    result[number] = (result[number] ?? 0) + 1;
  }
  return result;
}
getFrequency([1, 2, 2, 3, 3, 3]);
// { 1: 1, 2: 2, 3: 3 }

Ключи обычного объекта становятся строками. Отрицательные числа тоже поддерживаются. Время O(n), дополнительная память O(k), где k — количество различных значений; не исправляйте J молча внутри самой функции.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее