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օբյեկտը, որտեղ բանալիները զանգվածի տարրերն են, իսկ արժեքները՝ դրանց հանդիպումների քանակը: - Հետո ֆիլտրում ենք սկզբնական զանգվածը՝ թողնելով միայն այն տարրերը, որոնք հանդիպում են միայն մեկ անգամ:
Այսպիսով, մեթոդը աշխատում է որպես սովորական զանգվածի մեթոդ և պահպանում է տարրերի կարգը։