From ccfa1955866fdefe1eeff5dfe94ac6f3cbe0fd16 Mon Sep 17 00:00:00 2001 From: Murathan Karabak Date: Thu, 2 Feb 2023 23:22:32 +0300 Subject: [PATCH] =?UTF-8?q?Gorev=20Tamamland=C4=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- index.js | 79 +++++++++++++++++++++++++++++++++++++++++++------------- 1 file changed, 61 insertions(+), 18 deletions(-) diff --git a/index.js b/index.js index 45ea598aa..a28911d5e 100644 --- a/index.js +++ b/index.js @@ -6,15 +6,34 @@ const { fifaData } = require('./fifa.js') 💡 İPUCU: Öncelikle datayı filtrelemek isteyebilirsiniz */ + const final2014 = fifaData.filter((item) => { + return (item["Year"] === 2014 && item.Stage === "Final") + }) + +console.log(final2014); + //(a) 2014 Dünya kupası Finali Evsahibi takım ismi (dizide "Home Team Name" anahtarı) +console.log(final2014[0]["Home Team Name"]); //(b) 2014 Dünya kupası Finali Deplasman takım ismi (dizide "Away Team Name" anahtarı) +console.log(final2014[0]["Away Team Name"]); //(c) 2014 Dünya kupası finali Ev sahibi takım golleri (dizide "Home Team Goals" anahtarı) +console.log(final2014[0]["Home Team Goals"]); //(d)2014 Dünya kupası finali Deplasman takım golleri (dizide "Away Team Goals" anahtarı) +console.log(final2014[0]["Away Team Goals"]); //(e) 2014 Dünya kupası finali kazananı*/ +if(final2014[0]["Home Team Goals"] > final2014[0]["Away Team Goals"]) +{ + console.log("Kazanan " + final2014[0]["Home Team Name"]); +} +else +{ + console.log("Kazanan " + final2014[0]["Away Team Name"]); +} + /* Görev 2: @@ -25,10 +44,13 @@ const { fifaData } = require('./fifa.js') 💡 İPUCU - verilen data içindeki nesnelerin(objects) "Stage" anahtarına bakmalısınız */ -function Finaller(/* kodlar buraya */) { - - /* kodlar buraya */ +function Finaller(arr) { + let finaller = arr.filter((item) => { + return item.Stage === "Final" + }) + return finaller; } +console.log(Finaller(fifaData)); @@ -39,10 +61,14 @@ function Finaller(/* kodlar buraya */) { 3. Finaller data setindeki tüm yılları içeren "years" adındaki diziyi(array) döndürecek */ -function Yillar(/* kodlar buraya */) { - - /* kodlar buraya */ +function Yillar(array, callback) { + const finaller = callback(array); + const yillar = finaller.map(element => { + return element.Year; + }) + return yillar; } +console.log(Yillar(fifaData, Finaller)); /* Görev 4: @@ -53,11 +79,22 @@ function Yillar(/* kodlar buraya */) { 💡 İPUCU: Beraberlikler(ties) için şimdilik endişelenmeyin (Detaylı bilgi için README dosyasına bakabilirsiniz.) 4. Tüm kazanan ülkelerin isimlerini içeren `kazananlar` adında bir dizi(array) döndürecek(return) */ -function Kazananlar(/* kodlar buraya */) { - - /* kodlar buraya */ - +function Kazananlar(data,callback) { + const finaller = callback(data); + let kazananlar = []; + finaller.forEach(item => { + if(item["Home Team Goals"] > item["Away Team Goals"]) + { + kazananlar.push(item["Home Team Name"]); + } + else + { + kazananlar.push(item["Away Team Name"]); + } + }); + return kazananlar; } +console.log(Kazananlar(fifaData,Finaller)); @@ -72,11 +109,16 @@ function Kazananlar(/* kodlar buraya */) { 💡 İPUCU: her cümlenin adım 4'te belirtilen cümleyle birebir aynı olması gerekmektedir. */ -function YillaraGoreKazananlar(/* kodlar buraya */) { - -/* kodlar buraya */ - +function YillaraGoreKazananlar(data, cb_finaller, cb_yillar, cb_kazananlar) { + let arr = []; + let yillar =cb_yillar(data, cb_finaller); + let kazananlar = cb_kazananlar(data, cb_finaller); + kazananlar.forEach((item,i) => { + arr.push(`${(yillar[i])} yılında, ${item} dünya kupasını kazandı!`) + }) + return arr; } +console.log(YillaraGoreKazananlar(fifaData,Finaller,Yillar,Kazananlar)); /* Görev 6: @@ -93,11 +135,12 @@ function YillaraGoreKazananlar(/* kodlar buraya */) { */ -function OrtalamaGolSayisi(/* kodlar buraya */) { - - /* kodlar buraya */ - +function OrtalamaGolSayisi(arr) { + let toplamgol = arr.reduce((total,item) =>{ + return total + item["Home Team Goals"] + item["Away Team Goals"];},0) + return (toplamgol / arr.length).toFixed(2); } +console.log(OrtalamaGolSayisi(Finaller(fifaData)));