Middle+
// Методи findUnique дархост карда мешавад ба массив, ки массиви нав бо унсурҳои беназирро бармегардонад, // яъне онҳое, ки танҳо як маротиба дар массиви аслӣ ҳузур доранд, дар ҳамон тартиб. // Зарур аст, ки методи findUnique иҷро карда шавад, то ки ҳамчун методи одии массив кор кунад [10, 5, 10, 1, 6, 6, 7, 9, 9, 10].findUnique(); // [5, 1, 7]
sobes.tech AI
Ҷавоб аз AI
Барои илова кардани усули findUnique ба массив, ки массив навро бо унсурҳое, ки дар массиви аслӣ дақиқ як маротиба пайдо мешаванд, бармегардонад, шумо метавонед прототипи массивро ба тариқи зерин васеъ кунед:
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);
};
// Мисоли истифода:
const arr = [10, 5, 10, 1, 6, 6, 7, 9, 9, 10];
console.log(arr.findUnique()); // [5, 1, 7]
Тавзеҳ:
- Аввалан, объект
counts-ро месозем, ки дар он калидҳо унсурҳои массив ва арзишҳо шумораи онҳо мебошанд. - Сипас, массиви аслӣро филтр мекунем, танҳо унсурҳое боқӣ мемонанд, ки дар онҳо як маротиба пайдо мешаванд.
Ин тариқ, усул ҳамчун усули одии массив кор мекунад ва тартиби унсурҳоро нигоҳ медорад.