Sobes.tech
Middle

Yra skaičių masyvas, kai kurie iš jų kartojasi. Reikia sukurti naują masyvą be pasikartojimų, išlaikant skaičių tvarką. Kaip išspręsti šią užduotį nesinaudojant Set?

sobes.tech AI

Atsakymas iš AI

Galite pereiti per pradinį masyvą ir kiekvienam elementui patikrinti, ar jis jau buvo anksčiau rastas, naudojant papildomą objektą (žodyną) saugoti jau rastus skaičius. Jei skaičius yra naujas, pridėkite jį prie rezultato.

Pavyzdys 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]

Taip išlaikomas tvarkos ir pasikartojimų šalinimo be Set naudojimo principas.