Sobes.tech
Middle

/* A standard halmazmódszerek kiterjesztése érdekében meg kell valósítani az intersection metódust. Ez a metódus egy másik halmazt fogad bemenetként, és egy új halmazt ad vissza, amely az eredeti és a megadott halmazok metszete, tehát csak azokat az elemeket tartalmazza, amelyek mindkét halmazban megtalálhatók. */ // a kódod const set1 = new Set([1, 2, 3, 4]); const set2 = new Set([3, 4, 5, 6, 7, 8]); console.log(...set1.intersection(set2)) // 3 4 --- Set.prototype.intersection = function (set2) { const result = new Set(); for(const value of this) { if (set2.has(value)) result.add(value); } return result; } const set1 = new Set([1, 2, 3, 4]); const set2 = new Set([3, 4, 5, 6, 7, 8]); console.log(...set1.intersection(set2)) // 3 4

sobes.tech MI

Válasz az MI-től

Az intersection módszer a Set osztályhoz a prototípus Set-hez való hozzáadásával valósítható meg. Egy másik halmazt fogad, és egy új halmazt ad vissza, amely csak azokat az elemeket tartalmazza, amelyek mindkét halmazban megtalálhatók.

Set.prototype.intersection = function (otherSet) {
    const result = new Set();
    for (const item of this) {
        if (otherSet.has(item)) {
            result.add(item);
        }
    }
    return result;
};

const set1 = new Set([1, 2, 3, 4]);
const set2 = new Set([3, 4, 5, 6, 7, 8]);

console.log(...set1.intersection(set2)); // 3 4

Ez a módszer végigiterál az első halmaz elemein, és csak azokat adja hozzá az eredményhez, amelyek a második halmazban is megtalálhatók.