Alt Kümeler ve Üst Kümeler
Coddy'nin JavaScript Journey'sinin Mantık ve Akış bölümünün bir parçası — ders 40 / 65.
A kümesinin her elemanı aynı zamanda B kümesinin de bir elemanıysa, A kümesi B kümesinin bir alt kümesidir. Aksine, B kümesi A'nın tüm elemanlarını içeriyorsa, B kümesi A'nın bir üst kümesidir.
İki küme, eğer tam olarak aynı elemanları içeriyorlarsa eşittir. Örneğin, bazı testler oluşturalım:
const setA = new Set([1, 2, 3]);
const setB = new Set([1, 2, 3, 4, 5]);
const setC = new Set([1, 2, 3]);
const setD = new Set([6, 7, 8]);setA'nın setB'nin bir alt kümesi olup olmadığını kontrol eden fonksiyon:
function isSubset(setA, setB) {
return [...setA].every(element => setB.has(element));
}setA'nın setB'nin bir üst kümesi olup olmadığını kontrol eden fonksiyon:
function isSuperset(setA, setB) {
return isSubset(setB, setA);
}İki kümenin eşit olup olmadığını kontrol eden fonksiyon:
function areEqual(setA, setB) {
return setA.size === setB.size && isSubset(setA, setB);
}Alt küme ilişkisi test ediliyor:
// A, B'nin alt kümesi mi?
isSubset(setA, setB) // true
// B, A'nın alt kümesi mi?
isSubset(setB, setA) // false
// D, B'nin alt kümesi mi?
isSubset(setD, setB) // falseÜst küme ilişkisi test ediliyor:
// B, A'nın üst kümesi mi?
isSuperset(setB, setA) // true
// A, B'nin üst kümesi mi?
isSuperset(setA, setB) // falseEşitliği test etme:
// A, C'ye eşit mi?
areEqual(setA, setC) // true
// A, B'ye eşit mi?
areEqual(setA, setB) // false
// A, D'ye eşit mi?
areEqual(setA, setD) // falseGörev
Kolayarr1 ve arr2 olmak üzere iki diziyi parametre olarak alan analyzeSetRelations adında bir fonksiyon oluşturun. Fonksiyon, dizileri kümelere (sets) dönüştürmeli ve aşağıdaki özelliklere sahip bir nesne döndürmelidir:
isSubset:set1'inset2'nin bir alt kümesi olup olmadığını belirten bir booleanisSuperset:set1'inset2'nin bir üst kümesi olup olmadığını belirten bir booleanisEqual:set1veset2'nin tamamen aynı elemanlara sahip olup olmadığını belirten bir boolean
Kopya kağıdı
A kümesi, A'nın her elemanı aynı zamanda B'nin de bir elemanıysa B kümesinin bir alt kümesidir. Aksine, B, A'nın tüm elemanlarını içeriyorsa A'nın bir üst kümesidir. İki küme, tam olarak aynı elemanları içeriyorlarsa eşittir.
setA'nın setB'nin bir alt kümesi olup olmadığını kontrol edin:
function isSubset(setA, setB) {
return [...setA].every(element => setB.has(element));
}setA'nın setB'nin bir üst kümesi olup olmadığını kontrol edin:
function isSuperset(setA, setB) {
return isSubset(setB, setA);
}İki kümenin eşit olup olmadığını kontrol edin:
function areEqual(setA, setB) {
return setA.size === setB.size && isSubset(setA, setB);
}Kendin dene
function analyzeSetRelations(arr1, arr2) {
let set1 = new Set(arr1);
let set2 = new Set(arr2);
// Küme ilişkilerini kontrol etmek için .every() ve .has() kullanın
let isSubset = false; // TODO: set1'in her elemanının set2'de olup olmadığını kontrol edin
let isSuperset = false; // TODO: set2'nin her elemanının set1'de olup olmadığını kontrol edin
let isEqual = false; // TODO: her iki kümenin aynı boyutta olduğunu ve isSubset'in true olduğunu kontrol edin
return {
isSubset: isSubset,
isSuperset: isSuperset,
isEqual: isEqual
};
}Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Mantık ve Akış bölümündeki tüm dersler
1Derinlemesine Stringler
String TemelleriString Üzerinde YinelemeTemplate LiteralsString MetotlarıÖzet - String Weaver4JSON Bölüm 2
JSON Üzerinde Yinelemeİç İçe Geçmiş JSONJSON Optional ChainingSığ ve Derin KopyalamaÖzet - Bisiklet MağazasıÖzet - Güneş Sistemi7Kütüphane Yönetim Sistemi
Projeye Genel BakışKitap Ekleme10Festival Sistemi Yönetimi
Projeye Genel BakışFilm ve Mekan Ekle2Çok Boyutlu Diziler
2D Dizi Temelleri2D Dizi Elemanlarına Erişme2D Dizilerle İç İçe DöngülerÖzet - 2D DizilerMatris Toplama ve ÇıkarmaDüzensiz Diziler3D Diziler ve ÖtesiYaygın 2D Dizi DesenleriÖzet - Diziler Hakkında Her Şey5Kümeler Bölüm 1
Küme Nedir?Kümeler Üzerinde YinelemeEleman EklemeEleman SilmeEleman Varlığını Kontrol EtmeBoyut ve Boş Olma DurumuKopyalama ve TemizlemeÖzet - Kümelerin Temelleri8Diziler: İlginç Konular
Dizi Yapı SökümüDizilerde Spread SözdizimiSeyrek DizilerÖzet - Diziler Workshop3JSON Bölüm 1
JSON Nedir?Anahtarın Varlığını Kontrol EtmeNesne MetotlarıSpread Operatörü Bölüm 1Spread Operatörü Bölüm 2Anahtarları KaldırmaÖzet - JSON Anahtarlarını Yönetme6Kümeler Bölüm 2
Matematik - Kümelerin BirleşimiMatematik - Kümelerin KesişimiMatematik - Kümelerin FarkıMatematik - Simetrik FarkAlt Kümeler ve Üst KümelerÖzet - Arkadaşları Gruplandırma