Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
node_modules
259 changes: 141 additions & 118 deletions index.js
Original file line number Diff line number Diff line change
@@ -1,57 +1,72 @@
/* 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": "❤️",
}


["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:
Expand All @@ -69,27 +84,29 @@ var cumleler = [
*/

// ÖRNEĞİN ÇÖZÜMÜ:
function cumleKur(birinci, ikinci="", ucuncu="", dorduncu="", besinci=""){
return birinci+ikinci+ucuncu+dorduncu+besinci;
//fonksiyonun çalışması için ilk parametreyi(birinci) göndermemiz yeterli oluyor. ilk parametre zorunlu diğerleri değil.
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 */



console.log(cumleKur("Hello World!"));

/* (Oto test yok) cumleKur fonksiyonuna yalnızca 2 parametre göndererek "Hello World!" stringini elde edin, sonucu konsolde gözlemleyin */




console.log(cumleKur("Hello", " World!"));
/* (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;

bircumle = cumleKur("Ben", " iyi", " bir", " yazılımcı", " olacağım!");
console.log(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:
Expand All @@ -102,14 +119,12 @@ var bircumle;
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 */
function cumlelereDonustur(cumleDizisi, ayrac = ",") {
let yeniDizi = cumleDizisi.map((item) => item.join(ayrac));
return yeniDizi;
}



console.log(cumlelereDonustur(cumleler, " "));
/* GÖREV 2:
paragrafOlustur fonksiyonuna aşağıdakileri uygulayın.
1. cumleler dizisi fonksiyonun birinci parametresi olarak alınacak
Expand All @@ -119,46 +134,47 @@ function cumlelereDonustur(/* kodlar buraya */ ){
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 */
}


function paragrafOlustur(
cumleDizisi,
callbackCumleKur,
callbackCumlelereDonustur
) {
let yeniDizi = callbackCumlelereDonustur(cumleDizisi, " ");
let paragraf = callbackCumleKur(
yeniDizi[1],
yeniDizi[3],
yeniDizi[5],
yeniDizi[7],
yeniDizi[9]
);
return paragraf;
}
console.log(paragrafOlustur(cumleler, cumleKur, cumlelereDonustur));
/* 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 */




meyveler.pop();
meyveler.shift();
console.log(meyveler);


/* 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. 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 */







sebzeler.unshift("🐇");
sebzeler.push("🦔");
console.log(sebzeler);

/* 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ü
*/
//3c çözümü
/* kodlar buraya */

var manav;




manav = meyveler.concat(sebzeler);
console.log(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.
Expand All @@ -169,31 +185,38 @@ var manav;
yani hem :d hem de :D sembolleri 😁'a dönüşmelidir. bunun için (.toUpperCase ve .toLowerCase metotlarından istediğinizi kullanabilirsiniz.)
4. elde edilen string döndürülecek
*/

function emojileriDonustur(/* kodlar buraya */){
/* kodlar buraya */

// var emojiler = {
// ":)": "🙂",
// ":(": "😔",
// ":d": "😁",
// ":p": "😛",
// ":o": "😱",
// "<3": "❤️",
// };
function emojileriDonustur(mesaj, emojilerNesnesi) {
for (let key in emojilerNesnesi) {
mesaj = mesaj.replaceAll(key.toLocaleUpperCase(), key);
mesaj = mesaj.replaceAll(key, emojilerNesnesi[key]);
}
return mesaj;
}



/* Bu satırın aşağısındaki kodları lütfen değiştirmeyin */
function sa(){
console.log('Kodlar çalışıyor');
return 'as';
function sa() {
console.log("Kodlar çalışıyor");
return "as";
}
sa();
module.exports = {
sa,
cumleler,
cumleKur,
bircumle,
cumlelereDonustur,
paragrafOlustur,
sebzeler,
meyveler,
manav,
emojiler,
emojileriDonustur
}

sa,
cumleler,
cumleKur,
bircumle,
cumlelereDonustur,
paragrafOlustur,
sebzeler,
meyveler,
manav,
emojiler,
emojileriDonustur,
};
Loading