Sobes.tech
Middle

Existuje pole čísel, z nichž některá se opakují. Je třeba sestavit nové pole bez opakování, přičemž zachováme pořadí čísel. Jak tento úkol vyřešit bez použití Set?

sobes.tech AI

Odpověď od AI

Můžete projít původní pole a pro každý prvek zkontrolovat, zda se již dříve vyskytl, pomocí dalšího objektu (slovníku) pro uložení již nalezených čísel. Pokud je číslo nové, přidejte ho do výsledku.

Příklad v JavaScriptu:

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]

Tímto způsobem je zachováno pořadí a opakování jsou odstraněna bez použití Set.