-
Notifications
You must be signed in to change notification settings - Fork 282
Expand file tree
/
Copy pathindex.js
More file actions
214 lines (192 loc) · 8.61 KB
/
index.js
File metadata and controls
214 lines (192 loc) · 8.61 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
/* Aşağıda global olarak tanımlanmış değişkenler bulunmaktadır, bunları değiştirmeyin. Açıklamaları takip ederek görevleri tamamlayın. */
var cumleler = [
["Annem", "ekmek", "almak", "için", "gitti."],
["Babam", "her", "zaman", "çok", "sevdi."],
["Annemin", "bugün", "2'de", "doğum", "günü."],
["Olanları", "unutup", "bir", "daha", "dönemem."],
["Her", "zaman", "içinde", "yarası", "var."],
["O", "zaman", "senin", "bu", "halindim."],
["Artık", "içimden", "bir", "şey", "gelmiyor."],
["Kader", "bizi", "her", "zaman", "ayırdı."],
["Hiç", "bir", "zaman", "yazılanı", "silemedim."],
["İçimden", "gel", "dedim", "ama", "gelmedin."],
["Kader", "o", "defteri", "tekrar", "açamaz."],
["Şarkılar", "seni", "bana", "hatırlatan", "gerçekti."],
["Bu", "gece", "çok", "uykum", "vardı."],
["Neden", "böyle", "yaptığına", "anlam", "veremedim."],
["Benim", "boyum", "ondan", "bayağı", "kısaydı."],
["Senin", "gibi", "birini", "sevdim."],
["Kader", "seni", "yeniden", "yazamıyorum."],
["Neden", "bu", "kadar", "acı?"],
["Ben", "böyle", "olmasını", "istemedim."],
["Sonumu", "ve", "önümü", "bilemiyorum."],
["Sana", "gel", "bile", "diyemiyorum."],
["Onu", "çok", "seviyor."],
["Olan", "oldu", "artık."],
["Basım", "çok", "ağrıyor."],
["Neden", "böyle", "olduk?"],
["Nereden", "nereye", "gelmiştik."],
["Düşünmekten,", "kendimden", "yoruldum."],
["Böyle", "yaptı."],
["Suçlu", "değilsin."],
["Neden", "yaptın?"],
["Sana", "değer."],
["Acım", "içimde."],
["Annen", "hazırdı."],
["Bıktım."],
["İstedim."],
["Yaptım."],
["Nedendi?"],
["Yoruldum."],
];
var sebzeler = ["🍅", "🍄", "🥦", "🥒", "🌽", "🥕", "🥑"];
var meyveler = [
"🍇",
"🍈",
"🍉",
"🍊",
"🍋",
"🍌",
"🍍",
"🥭",
"🍎",
"🍐",
"🍑",
"🍒",
"🍓",
"🥝",
"🥥",
];
var emojiler = {
":)": "🙂",
":(": "😔",
":d": "😁",
":p": "😛",
":o": "😱",
"<3": "❤️",
};
/* ÖRNEK GÖREV:
cumleKur fonksiyonuna aşağıdakileri uygulayın:
1. Fonksiyon argüman olarak birbirinden farklı 5 tane string değişkeni parametre olarak alacak
2. 5 parametrenin birincisi öntanımsız olacak, diğer 4 string öntanımlı olacak ve "" (empty string) değerini alacaktır.
(💡 İPUCU: Ön tanımlı özelliği fonksiyonun gerekli parametresi gönderilmeden de çağırılabilmesini mümkün kılmaktadır.
ÖRNEK PARAMETRELERİ ÖN TANIMLI FONKSİYON:
function foo(degisken=false){
return degisken;
}
Yukarıdaki fonksiyonu foo("deneme") olarak çağırabiliriz, bu fonksiyon "deneme" stringini döndürecektir. Aynı fonksiyonu
foo(); şeklinde de çağırabiliriz. Bu durumda parametre olarak bir şey göndermediğimiz için fonksiyon içindeki degisken
değişkenine false değeri atanacaktır. Bu durumda foo(); fonksiyonunu çalıştırdığımız false döndürür.)
3. Alınan 5 string uc uca eklenerek bir stringe dönüştürülecektir.
4. Fonksiyon, oluşturulan stringi döndürecektir.
*/
// ÖRNEĞİN ÇÖZÜMÜ:
function cumleKur(
birinci,
ikinci = "",
ucuncu = "",
dorduncu = "",
besinci = ""
) {
return birinci + ikinci + ucuncu + dorduncu + besinci;
}
/* (Oto test yok) cumleKur fonksiyonuna yalnızca 1 parametre göndererek "Hello World!" stringini elde edin,
sonucu konsolde gözlemleyin */
/* (Oto test yok) cumleKur fonksiyonuna yalnızca 2 parametre göndererek "Hello World!" stringini elde edin,
sonucu konsolde gözlemleyin */
/* (Oto test var) cumleKur fonksiyonuna 5 parametre göndererek "Ben iyi bir yazılımcı olacağım!" stringini
elde edin, sonucu `bircumle` değişkenine atayın ve konsolde gözlemleyin */
var bircumle;
/* kodlar buraya */
// Sayfanın en üstünde global olarak tanımlanmış `cumleler` adında bir dizi bulunmaktadır. Bu dizinin
// içinde en çok 5 en az 1 adet string bulunan diziler bulunmaktadır.Aşağıdaki görevlerde aksi
// belirtilmedikçe bu dizi kullanılacaktır.
/* GÖREV 1:
cumlelereDonustur fonksiyonuna aşağıdaki yönergeleri uygulayın.
1. `cumleler` adındaki dizi fonksiyonun BİRİNCİ parametresi olarak alınacak.
2. Kelime aralarındaki ayraç(seperator) olarak kullanılmak üzere bir string değişkeni fonksiyonun
İKİNCİ parametresi olarak alınacak. Ayraç parametresine "," değerini ön tanımlı yapmanız beklenmektedir.
3. Dizinin içindeki her dizi elemanı 1 cümle oluşturacak şekilde uc uca eklenecek, kelimelerin
aralarına 2. parametrede girilen ayraç yerleştirilecek;
NOT: cumlelereDonustur(cumleler, " ") fonksiyonu çağırıldığında şu dizinin oluşturacağı cümle:
["Annem","ekmek","almak","için","gitti."] => "Annem ekmek almak için gitti." şeklinde olmalıdır.
💡 İPUCU: Bu çalışmada cümleleri kolay oluşturmak için .map ve .join metodunu bir arada kullanmanız
gerekmektedir.
4. Oluşturulan her cümle yeni bir dizi oluşturulup o dizinin içine aktarılacak.
5. Oluşturulan yeni dizi döndürülecek.
*/
function cumlelereDonustur(/* kodlar buraya */) {
/* kodlar buraya */
}
/* GÖREV 2:
paragrafOlustur fonksiyonuna aşağıdakileri uygulayın.
1. cumleler dizisi fonksiyonun birinci parametresi olarak alınacak
2. cumleKur fonksiyonu geriçağırım(callback) için fonksiyonun ikinci parametresi olarak alınacak
3. cumlelereDonustur fonksiyonu geriçağırım(callback) için fonksiyonun üçüncü parametresi olarak alınacak
4. Bir dizi oluşturulacak ve cumlelereDonustur fonksiyonu cumleler ve " " ayracıyla çağırılarak bu
diziye aktarılacak
5. Oluşturulan bu dizinin tek sayılı anahtarlarını(index) [1,3,5,7,9] kullanarak ilk 5 elemanı geriçağırım
olarak çağırılan cumleKur dizisinin parametreleri olarak aktarılarak çağırılacak ÖRNEK:
callback(dizi[1],dizi[2],dizi[3],dizi[5],dizi[7])
6. Oluşturulan paragraf döndürülecek
*/
function paragrafOlustur(/* kodlar buraya */) {
/* kodlar buraya */
}
/* GÖREV 3:
Yukarıda isimleri sebzeler ve meyveler olan 2 dizi bulunmaktadır. Bu dizileri kullanarak aşağıdaki görevleri tamamlayın.
3a. meyveler dizisinin ilk ve son elemanlarını diziden çıkartın. (.pop ve .shift metodlarını kullanın)
*/
//3a çözümü
/* kodlar buraya */
/* 3b. Bir tavşan ve bir kirpi arkadaşlar sebzeler dizimizin peşine düştü. Tavşan => 🐇 , Kirpi=> 🦔 ,
Tavşanla kirpi sebzeleri ele geçirmek için bir plan kurdular. Tavşan diziye önden saldıracak, kirpi ise
arkalarından dolaşacak. Varsayalım ki arkadaşların planları başarılı oldu. Tavşanı dizinin ilk elemanına 🐇,
Kirpiyi dizinin son elemanına ekleyin 🦔
*/
//3b çözümü
/* kodlar buraya */
/* 3c. manav isminde bir dizi oluşturun.`meyveler` dizisi ilk elemanlara, `sebzeler` dizisi son
elemanlara denk gelecek şekilde, iki diziyi birleştirip sonucu manav dizisine aktarın. (.concat metodu)
*/
//3c çözümü
/* kodlar buraya */
var manav;
/* GÖREV 4:
Yeni kurulmuş bir mesajlaşma startup firması atılan mesajları emojilerle zenginleştirmek istiyor.
Bunun için emojiler adında bir nesne tanımlamışlar. Kullanıcının gönderdiği mesaj stringi içinde
emojiler nesnesinin anahtarı(index) bulunuyorsa, bu işareti otomatik olarak anahtara ait değerde
tanımlanmış emoji ile değiştirecek bir fonksiyon geliştirmek istiyorlar. ÖRNEK: Mesaj içinde ":)"
sembolü bulunursa mesajı alan kişi bu sembolü "🙂" olarak görecek. Burdan yola çıkarak
emojileriDonustur fonksiyonuna aşağıdakileri uygulayın.
1. Atılan mesaj stringi fonksiyonun birinci parametresi olarak alınacak
2. emojiler nesnesi fonksiyonun ikinci parametresi olarak alınacak
3. mesaj stringi emoji nesnesinde tanımlı olan tüm sembolleri istenilen değere dönüştürecek
( .replaceAll metodu kullanılacak)
NOT: burada dikkat edilmesi gereken husus şudur; harfli sembolleri kullanıcı küçük harf ve
büyük harf olarak girebilir. yani hem :d hem de :D sembolleri 😁'a dönüşmelidir. bunun için
(.toUpperCase ve .toLowerCase metotlarıı kullanabilirsiniz.)
4. elde edilen string döndürülecek
*/
function emojileriDonustur(/* kodlar buraya */) {
/* kodlar buraya */
}
/* Bu satırın aşağısındaki kodları lütfen değiştirmeyin */
function sa() {
console.log("Kodlar çalışıyor");
return "as";
}
sa();
module.exports = {
sa,
cumleler,
cumleKur,
bircumle,
cumlelereDonustur,
paragrafOlustur,
sebzeler,
meyveler,
manav,
emojiler,
emojileriDonustur,
};