Sobes.tech
Back to questions
Middle
1

Есть массив чисел, некоторые из которых повторяются. Нужно собрать новый массив без повторений, сохранив порядок чисел. Как решить задачу без использования Set?

Companies where asked
Электронные офисные системы

Answer from AI

sobes.tech AI

Можно пройтись по исходному массиву и для каждого элемента проверить, встречался ли он ранее, используя дополнительный объект (словарь) для хранения уже встреченных чисел. Если число новое — добавить его в результат.

Пример на JavaScript:

function uniqueArray(arr) {
  const seen = {};
  const result = [];
  for (const num of arr) {
    if (!seen[num]) {
      seen[num] = true;
      result.push(num);
    }
  }
  return result;
}

const input = [1, 2, 3, 2, 4, 1, 5];
console.log(uniqueArray(input)); // [1, 2, 3, 4, 5]

Так сохраняется порядок и исключаются повторения без использования Set.