Sobes.tech
Middle+

// findUnique usuli arrayga qo'llaniladi va yangi arrayni, faqat unikal elementlar bilan, // ya'ni asl arrayda faqat bir marta mavjud bo'lgan elementlar bilan, bir xil tartibda, qaytaradi. // findUnique metodini implement qilish kerak, shunda u oddiy array metodidek ishlaydi [10, 5, 10, 1, 6, 6, 7, 9, 9, 10].findUnique(); // [5, 1, 7]

sobes.tech AI

AIdan javob

Arrayga findUnique metodini qo'shish uchun, asl massivda aniq bir marta uchraydigan elementlardan iborat yangi massivni qaytaradigan bu metodni kengaytirish uchun quyidagicha qilishingiz mumkin:

Array.prototype.findUnique = function() {
  const counts = this.reduce((acc, val) => {
    acc[val] = (acc[val] || 0) + 1;
    return acc;
  }, {});

  return this.filter(item => counts[item] === 1);
};

// Foydalanish misoli:
const arr = [10, 5, 10, 1, 6, 6, 7, 9, 9, 10];
console.log(arr.findUnique()); // [5, 1, 7]

Tushuntirish:

  • Avvalo, counts ob'ektini yaratamiz, unda kalitlar massiv elementlari, qiymatlar esa ularning uchrash soni.
  • So'ngra, asl massivni filtrlash orqali, faqat uchrash soni 1 ga teng bo'lgan elementlarni qoldiramiz.

Shu tarzda, metod oddiy massiv metodlari kabi ishlaydi va elementlarning tartibini saqlaydi.