From 0492b9d622412bd6500fe43ebee129fdb70fe58e Mon Sep 17 00:00:00 2001 From: guven07 Date: Mon, 28 Nov 2022 21:28:43 +0300 Subject: [PATCH] Day 10 Translate into Turkish --- .../10_day_Sets_and_Maps.md | 445 ++++++++++++++++++ 1 file changed, 445 insertions(+) create mode 100644 Turkish/10_Day_Sets_And_Maps/10_day_Sets_and_Maps.md diff --git a/Turkish/10_Day_Sets_And_Maps/10_day_Sets_and_Maps.md b/Turkish/10_Day_Sets_And_Maps/10_day_Sets_and_Maps.md new file mode 100644 index 00000000..19b23ddf --- /dev/null +++ b/Turkish/10_Day_Sets_And_Maps/10_day_Sets_and_Maps.md @@ -0,0 +1,445 @@ +div align=center + h1 30 Günde JavaScript Setler ve Maplarh1 + a class=header-badge target=_blank href=httpswww.linkedin.cominasabeneh + img src=httpsimg.shields.iobadgestyle--5eba00.svglabel=LinkedIn&logo=linkedin&style=social + a + a class=header-badge target=_blank href=httpstwitter.comAsabeneh + img alt=Twitter Follow src=httpsimg.shields.iotwitterfollowasabenehstyle=social + a + + subAuthor + a href=httpswww.linkedin.cominasabeneh target=_blankAsabeneh Yetayehabr + + sub + subÇevirmen + a href=httpsgithub.comguven07 target=_blankGüven Karabulutabr + small Kasım 2022small + sub + div + + [ Day 9](..09_Day_Higher_order_functions09_day_higher_order_functions.md) [Day 11](..11_Day_Destructuring_and_spreading11_day_destructuring_and_spreading.md) + + ![Gün 10](imagesbannersday_1_10.png) + + - [Gün 10](#gün-10) + - [Set](#set) + - [Boş bir set oluşturma](#boş-bir-set-oluşturma) + - [Diziden set oluşturma](#diziden-set-oluşturma) + - [Bir set'e eleman ekleme](#bir-sete-eleman-ekleme) + - [Bir elemanı set'den silme](#bir-elemanı-setden-silme) + - [Set'deki bir elemanı kontrol etme](#setdeki-bir-elemanı-kontrol-etme) + - [Set'i temizleme](#seti-temizleme) + - [Set'lerin birleşimi](#setlerin-birleşimi) + - [Set'lerin kesişimi](#setlerin-kesişimi) + - [set'lerin farkı](#setlerin-farkı) + - [Map](#map) + - [Boş map oluşturma](#boş-map-oluşturma) + - [Bir diziden map oluşturma](#bir-diziden-map-oluşturma) + - [Map'e değerler ekleme](#mape-değerler-ekleme) + - [Map'ten değerler alma](#mapten-değerler-alma) + - [Map içindeki anahtarı kontrol etme](#map-içindeki-anahtarları-kontrol-etme) + - [Egzersizler](#exercises) + - [EgzersizSeviye 1](#egzersizseviye-1) + - [EgzersizSeviye 2](#egzersizseviye-2) + - [EgzersizSeviye 3](#egzersizseviye-3) + + # 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 + + ```js + const companies = new Set() + console.log(companies) + ``` + + ```sh + Set(0) {} + ``` + + ### Diziden set oluşturma + + ```js + const languages = [ + 'English', + 'Finnish', + 'English', + 'French', + 'Spanish', + 'English', + 'French', + ] + + const setOfLanguages = new Set(languages) + console.log(setOfLanguages) + ``` + + ```sh + Set(4) {English, Finnish, French, Spanish} + ``` + + Set iterable bir nesnedir ve her öğeye iterable işlemi uygulanabilir + + + ```js + const languages = [ + 'English', + 'Finnish', + 'English', + 'French', + 'Spanish', + 'English', + 'French', + ] + + const setOfLanguages = new Set(languages) + + for (const language of setOfLanguages) { + console.log(language) + } + ``` + + ```sh + English + Finnish + French + Spanish + ``` + + ### Bir set'e eleman ekleme + + ```js + 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) + ``` + + ```sh + Set(5) {Google, Facebook, Amazon, Oracle, Microsoft} + ``` + + Bir set'e eleman eklemek için döngülerde kullanabiliriz. + + ```js + const companies = ['Google', 'Facebook', 'Amazon', 'Oracle', 'Microsoft'] + setOfCompanies = new Set() + for (const company of companies) { + setOfCompanies.add(company) + } + ``` + + ```sh + Set(5) {Google, Facebook, Amazon, Oracle, Microsoft} + + ``` + + ### Bir elemanı set'den silme + + Set'den delete methodunu kullanrak bir eleman silebiliriz. + + ```js + console.log(companies.delete('Google')) + console.log(companies.size) Set'de 4 eleman kaldı + ``` + + ### 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. + + ```js + console.log(companies.has('Apple')) false + console.log(companies.has('Facebook')) true + ``` + + ### Set'i temizleme + + Clear methodu set'deki bütün elemanları temizler. + + ```js + companies.clear() + console.log(companies) + ``` + + ```sh + Set(0) {} + ``` + + Set'in nasıl kullanılacağını aşağıdaki örnekte görebilirsiniz. + + ```js + 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) + ``` + + ```js + [ + { 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. + + ```js + const numbers = [5, 3, 2, 5, 5, 9, 4, 5] + const setOfNumbers = new Set(numbers) + + console.log(setOfNumbers) + ``` + + ```sh + Set(5) {5, 3, 2, 9, 4} + ``` + + ### 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 + + ```js + 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) + ``` + + ```sh + Set(6) {1, 2, 3, 4, 5,6} + ``` + + ### 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 + + ```js + 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) + ``` + + ```sh + Set(3) {3, 4, 5} + ``` + + ### 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 + + ```js + 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) + ``` + + ```sh + Set(2) {1, 2} + ``` + + ## Map + + ### Boş map oluşturma + + ```js + const map = new Map() + console.log(map) + ``` + + ```sh + Map(0) {} + ``` + + ### Bir diziden map oluşturma + + ```js + countries = [ + ['Finland', 'Helsinki'], + ['Sweden', 'Stockholm'], + ['Norway', 'Oslo'], + ] + const map = new Map(countries) + console.log(map) + console.log(map.size) + ``` + + ```sh + Map(3) {Finland = Helsinki, Sweden = Stockholm, Norway = Oslo} + 3 + ``` + + ### Map'e değerler ekleme + + ```js + 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) + ``` + + ```sh + Map(3) {Finland = Helsinki, Sweden = Stockholm, Norway = Oslo} + 3 + ``` + + ### Map'ten değer alma + + ```js + console.log(countriesMap.get('Finland')) + ``` + + ```sh + Helsinki + ``` + + ### 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. + + ```js + console.log(countriesMap.has('Finland')) + ``` + + ```sh + true + ``` + + Map içindeki bütün değerleri döngü kullanarak almak + + ```js + for (const country of countriesMap) { + console.log(country) + } + ``` + + ```sh + (2) [Finland, Helsinki] + (2) [Sweden, Stockholm] + (2) [Norway, Oslo] + ``` + + ```js + for (const [country, city] of countriesMap){ + console.log(country, city) + } + ``` + + ```sh + Finland Helsinki + Sweden Stockholm + Norway Oslo + ``` + + 🌕 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 + + ### EgzersizSeviye 1 + + ```js + const a = [4, 5, 8, 9] + const b = [3, 4, 5, 7] + const countries = ['Finland', 'Sweden', 'Norway'] + ``` + + 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 + + + ### ExercisesLevel 2 + + 1.A birleşim B'yi bulun + 2.A kesişim B'yi bulun + 3. A ile B'yi bul + + ### EgzersizSeviye 3 + + 1.Ülkeler nesne dosyasında kaç tane dil var + + 1. En çok konuşulan 10 dili bulmak için ülke verilerini kullanın + + ```js + Çı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 ! 🎉 + + [ Day 9](..09_Day_Higher_order_functions09_day_higher_order_functions.md) [Day 11 ](..11_Day_Destructuring_and_spreading11_day_destructuring_and_spreading.md) \ No newline at end of file