Sobes.tech
Назад к вопросам
Middle
4

/* Необходимо реализовать метод intersection, расширяющий стандартные методы множеств (Set). Метод принимает на вход другое множество и возвращает новое множество, являющееся пересечением исходного и переданного множеств, т.е. содержит только те элементы, которые присутствуют в обеих множествах. */ // your code 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 AI

Метод intersection для класса Set можно реализовать, добавив его в прототип Set. Он принимает другое множество и возвращает новое множество, содержащее только те элементы, которые есть в обоих множествах.

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

Такой метод перебирает элементы первого множества и добавляет в результат только те, которые есть во втором.