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.