# Gün 10
## Set
Set, elemanlar topluluğudur. Set yalnızca benzersiz öğeler içerebilir. Aşağıdaki bölümde bir setin nasıl oluşturulacağını görelim.
### Boş bir set oluşturma
### Diziden set oluşturma
const languages = [
'English',
'Finnish',
'English',
'French',
'Spanish',
'English',
'French',
]
const setOfLanguages = new Set(languages)
console.log(setOfLanguages)
Set iterable bir nesnedir ve her öğeye iterable işlemi uygulanabilir
const languages = [
'English',
'Finnish',
'English',
'French',
'Spanish',
'English',
'French',
]
const setOfLanguages = new Set(languages)
for (const language of setOfLanguages) {
console.log(language)
}
### Bir set'e eleman ekleme
const companies = new Set() boş bir set oluşturuyoruz
console.log(companies.size) 0
companies.add('Google') set'e eleman ekliyoruz
companies.add('Facebook')
companies.add('Amazon')
companies.add('Oracle')
companies.add('Microsoft')
console.log(companies.size) set'in içinde 5 eleman var
console.log(companies)
Bir set'e eleman eklemek için döngülerde kullanabiliriz.
const companies = ['Google', 'Facebook', 'Amazon', 'Oracle', 'Microsoft']
setOfCompanies = new Set()
for (const company of companies) {
setOfCompanies.add(company)
}
### Bir elemanı set'den silme
Set'den delete methodunu kullanrak bir eleman silebiliriz.
### Set'deki bir elemanı kontrol etme
Has methodu bir set'de belirli bir elemanı olup olmadığını kontrol eder true veya false döndürür.
### Set'i temizleme
Clear methodu set'deki bütün elemanları temizler.
Set'in nasıl kullanılacağını aşağıdaki örnekte görebilirsiniz.
const languages = [
'English',
'Finnish',
'English',
'French',
'Spanish',
'English',
'French',
]
const langSet = new Set(languages)
console.log(langSet) Set(4) {English, Finnish, French, Spanish}
console.log(langSet.size) 4
const counts = []
const count = {}
for (const l of langSet) {
const filteredLang = languages.filter((lng) = lng === l)
console.log(filteredLang) [English, English, English]
counts.push({ lang l, count filteredLang.length })
}
console.log(counts)
[
{ lang 'English', count 3 },
{ lang 'Finnish', count 1 },
{ lang 'French', count 2 },
{ lang 'Spanish', count 1 },
]
Set'in farklı bir kullanımı. Örneğin dizideki benzersiz öğeyi saymak için.
const numbers = [5, 3, 2, 5, 5, 9, 4, 5]
const setOfNumbers = new Set(numbers)
console.log(setOfNumbers)
### Set'lerin birleşimi
iki set nesnesini birleştirmek yayılma operatörü kullanılarak elde edilebilir A ve B set'lerinin birleşimini (A U B) bulmak için aşağıdaki kodlara göz atın
let a = [1, 2, 3, 4, 5]
let b = [3, 4, 5, 6]
let c = [...a, ...b]
let A = new Set(a)
let B = new Set(b)
let C = new Set(c)
console.log(C)
### Set'lerin kesişimi
iki set nesnesinin kesişimini bulmak için filter methodu kullanılması gerekir. A ve B setlerinin kesişimi (A ∩ B) bulmak için aşağıdaki kodlara göz atın
let a = [1, 2, 3, 4, 5]
let b = [3, 4, 5, 6]
let A = new Set(a)
let B = new Set(b)
let c = a.filter((num) = B.has(num))
let C = new Set(c)
console.log(C)
### Set'lerin farkı
iki set nesnesinin farkını bulmak için filter methodu kullanılması gerekir. A ve B setlerinin farkını (A B) bulmak için aşağıdaki kodlara göz atın
let a = [1, 2, 3, 4, 5]
let b = [3, 4, 5, 6]
let A = new Set(a)
let B = new Set(b)
let c = a.filter((num) = !B.has(num))
let C = new Set(c)
console.log(C)
## Map
### Boş map oluşturma
### Bir diziden map oluşturma
countries = [
['Finland', 'Helsinki'],
['Sweden', 'Stockholm'],
['Norway', 'Oslo'],
]
const map = new Map(countries)
console.log(map)
console.log(map.size)
### Map'e değerler ekleme
const countriesMap = new Map()
console.log(countriesMap.size) 0
countriesMap.set('Finland', 'Helsinki')
countriesMap.set('Sweden', 'Stockholm')
countriesMap.set('Norway', 'Oslo')
console.log(countriesMap)
console.log(countriesMap.size)
### Map'ten değer alma
### Map içindeki anahtarı kontrol etme
Eğer Map içinde bir anahtarın olup olmadığını kontrol etmek istiyorsak has methodunu kullanabiliriz bu method bize true veya false döndürür.
Map içindeki bütün değerleri döngü kullanarak almak
🌕 Büyük bir ilerleme kateddiniz, durdurulamazsınız. Devam edin! 10.gün zorluklarını yeni tamamladınız ve mükemmeliğe giden yolda 10 adım öndesiniz. Şimdi beyniniz ve kaslarınız için bazı egzersizler yapın.
## Egzersiz
### Egzersiz:Seviye 1
1.Boş bir set oluşturun 2.Döngü kullanarak 0 ile 10 aralığını içeren bir set oluşturun 3.Set içinden bir eleman silin 4.Set'i temizleyin 5.5 string eleman içeren bir set oluşturun (dizi ile oluşturulacak) 6. bir ülke map'ı oluşturun ve içindeki ülkelerin karakter sayısını girin
### Egzersiz:Seviye 2
1.A birleşim B'yi bulun 2.A kesişim B'yi bulun 3. A ile B'yi bul
### Egzersiz:Seviye 3
1.Ülkeler nesne dosyasında kaç tane dil var
- En çok konuşulan 10 dili bulmak için ülke verilerini kullanın
Çıktınız böyle görünmelidir
console.log(mostSpokenLanguages(countries, 10))
[
{ English 91 },
{ French 45 },
{ Arabic 25 },
{ Spanish 24 },
{ Russian 9 },
{ Portuguese 9 },
{ Dutch 8 },
{ German 7 },
{ Chinese 5 },
{ Swahili 4 },
{ Serbian 4 }
]
Çıktınız böyle görünmelidir
console.log(mostSpokenLanguages(countries, 3))
[
{English91},
{French45},
{Arabic25}
]
🎉 TEBRİKLER ! 🎉