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

Нормализуйте строки через trim и toLowerCase, создайте Set для каждого массива и оставьте значения, присутствующие во всех наборах.

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

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

Нормализуйте строки через trim и toLowerCase, создайте Set для каждого массива и оставьте значения, присутствующие во всех наборах.

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

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

Нормализуйте строки через trim и toLowerCase, создайте Set для каждого массива и оставьте значения, присутствующие во всех наборах.

Результат возвращается в нормализованном виде; отсутствие входных массивов даёт пустой массив:

function commonStrings(...arrays) {
  if (!arrays.length) return [];
  const sets = arrays.map(a => new Set(a.map(s => s.trim().toLowerCase())));
  return [...sets[0]].filter(s => sets.every(set => set.has(s)));
}

Контракт предполагает массивы строк. Пустая строка после trim не удаляется автоматически. Для языково-специфического сравнения правила нормализации нужно уточнить отдельно.

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

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

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

Подробнее