Skip to content
Open
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
109 changes: 83 additions & 26 deletions index.js
Original file line number Diff line number Diff line change
Expand Up @@ -144,20 +144,24 @@ const fenomenler = [


/* Görev 1 (otomatik kontrol testi yapılmayacak):
Aşağıdakileri konsolda gösterim (console.log) işlemi gerçekleştirerek, yukarıda verilen fenomenler dizisindeki verilere erişim alıştırması yapın:
Aşağıdakileri konsolda gösterim (console.log) işlemi gerçekleştirerek,
//yukarıda verilen fenomenler dizisindeki verilere erişim alıştırması yapın:

(işlev yazmanıza gerek yok) */

//(1) Dizideki ilk fenomen (0. dizin) profil (profile) adı

console.log(fenomenler[0].profile);

//(2) Dizideki üçüncü fenomenin (2. dizin) takipçi (followers) sayısı

console.log(fenomenler[2].followers);

/* Görev 2 (otomatik kontrol testi yapılmayacak):
(işlev yazmanıza gerek yok)
Fenomenler dizisinde bir yazım hatası var 😱 7. sıradaki fenomen 'Justin Bieber' ın soyismi 'Biber' olarak yanlış yazılmış. Bu sorunu düzeltin ve çalışmanızı kontrol etmek için console.log() yapın.

Fenomenler dizisinde bir yazım hatası var 😱 7. sıradaki fenomen 'Justin Bieber' ın soyismi 'Biber' olarak yanlış yazılmış.
//Bu sorunu düzeltin ve çalışmanızı kontrol etmek için console.log() yapın.
*/
fenomenler[6].profile = "Justin Bieber";
console.log(fenomenler[6])

/* Görev 3:
Aşağıdaki işlemleri yapmak için indekseGoreFenomen işlevini kullanın:
Expand All @@ -168,10 +172,17 @@ Aşağıdaki işlemleri yapmak için indekseGoreFenomen işlevini kullanın:
NOT: DÖNDÜĞÜNÜZ DİZİN YUKARIDAKİ BİÇİMLE EŞLEŞMESİ GEREKİR, YA DA TESTİ GEÇMEYECEKTİR!
ÖRNEK: fenomenler dizisi ve 3 sayısı ile indekseGoreFenomen çağrılırsa, `3. indekste bulunan fenomen: Leo Messi' */

function indekseGoreFenomen(/*kod*/) {
/*kod*/
function indekseGoreFenomen(dizi, index) {
let profil = dizi[index].profile;
let result = `${index}. indekste bulunan fenomen: ${profil}` ;
//let indeks = index;
return result;
}

//let indeks = 3;
//indekseGoreFenomen(fenomenler, 3);
console.log(indekseGoreFenomen(fenomenler, 3));



/* Görev 4:
Expand All @@ -182,11 +193,16 @@ Aşağıdakileri yapmak için profilListesi'ni kullanın:
🌟 Dönüş ÖRNEĞİ: ["Instagram", "Cristiano Ronaldo", "Kylie"....]
*/

function profilListesi(/*kod*/) {
/*kod*/
function profilListesi(fenomenler) {
const yeniFenomen = [...fenomenler];
let feno = [];
for(let i=0; i<yeniFenomen.length; i++){
feno.push(yeniFenomen[i].profile);
}
return feno;
}


const fenos = profilListesi(fenomenler)
console.log(fenos)

/* Görev 5:
Aşağıdakileri yapmak için fenomenSil'i kullanın:
Expand All @@ -197,16 +213,20 @@ Aşağıdakileri yapmak için fenomenSil'i kullanın:
5. Ortaya çıkan diziyi döndürün

ÖRNEK: fenomenSil işlevi fenomenler dizisi ve 0 indeks sayısı ile çağrılırsa, veri kümemizden 'Instagram' kaldırılmış olarak döndürür. */
function fenomenSil(/*kod*/) {
/*kod*/
function fenomenSil(dizi, idx) {
const yeniFenomen = [...dizi];
yeniFenomen.splice(idx, 1);
return yeniFenomen;
}


const fenos2 = fenomenSil(fenos, 0);
console.log(fenos2)

/* Görev 6:
Aşağıdakileri yapmak için fenomenEkle'i kullanın:
1. ilk parametre olarak fenomenler dizisini alın
2. İKİNCİ, ÜÇÜNCÜ, DÖRDÜNCÜ, BEŞİNCİ ve ALTINCI parametre olarak sırasıyla bir sırano (number), bir profil ismi (profile), takipçi sayısı (followers), gönderim sayısı (posts) ve bir platform adı (platform) alın.
2. İKİNCİ, ÜÇÜNCÜ, DÖRDÜNCÜ, BEŞİNCİ ve ALTINCI parametre olarak sırasıyla bir sırano (number),
bir profil ismi (profile), takipçi sayısı (followers), gönderim sayısı (posts) ve bir platform adı (platform) alın.
3. fenomenler dizisini bir kopyasını oluşturun.
4. Aşağıdaki formatta bir nesne oluşturun:
{
Expand All @@ -219,11 +239,27 @@ Aşağıdakileri yapmak için fenomenEkle'i kullanın:
5. Yeni oluşturulan nesneyi kopyalanan diziye ekleyin, ardından kopyalanan diziyi döndürün

ÖRNEK: fenomenEkle(fenomenler, 6, "Workintech", 10000000, 2022, "Instagram") çağrıldığında dizinin sonuna yukarıdaki nesne en sona eklenerek yeni fenomenler dizisini döndürmelidir. */

function fenomenEkle(/*kod*/) {
/*kod*/
//objectler, pythondaki dictionarylere benziyor, içindeki propertyler aslında dictionarylerdeki keyler ve aldıkları değerler de key valueları:
function fenomenEkle(dizi, siraNo, profil, takipciSayisi, gondSayisi, platform) {
const yeniDizi = [...dizi];
let yeniFeno = {
"number": siraNo,
"profile": profil,
"followers": takipciSayisi,
"posts": gondSayisi,
"platform": platform
}
yeniDizi.push(yeniFeno)
return yeniDizi;
}
//const siraNo = 6;
//const profil = "Workintech";
//const takipciSayisi = 10000000;
//const gondSayisi = 2022;
//const platform = "Instagram";
const yeniDizi2 = fenomenEkle(fenomenler, 6, "Workintech", 10000000, 2022, "Instagram");

console.log(yeniDizi2);

/* Görev 7:
Aşağıdakileri yapmak için enFenomenler'yi kullanın:
Expand All @@ -233,10 +269,16 @@ Aşağıdakileri yapmak için enFenomenler'yi kullanın:
ÖRNEK: enFenomenler(fenomenler) çağrıldığında sonuç olarak ["Instagram", "Cristiano Ronaldo", ... "Khabane lame"] dönemelidir
*/

function enFenomenler(/*kod*/) {
/*kod*/
function enFenomenler(dizi) {
let fenos4 = [];
for(let i=0;i<dizi.length;i++){
if(dizi[i].followers >= 100000000){
fenos4.push(dizi[i].profile);
}
}
return fenos4;
}

console.log(enFenomenler(fenomenler))

/* Görev 8:
Aşağıdakileri yapmak için fenomenGonderimSayisi'nı kullanın:
Expand All @@ -247,9 +289,16 @@ Aşağıdakileri yapmak için fenomenGonderimSayisi'nı kullanın:
ÖRNEK: fenomenGonderimSayisi(fenomenler, 'Will Smith') çağrıldığında "136" dönmelidir
*/

function fenomenGonderimSayisi(/*kod*/){
/*kod*/
function fenomenGonderimSayisi(dizi, isim){
const filtDizi = dizi.find(filtDizi => filtDizi.profile === isim);
//let post = filtDizi.posts
if(filtDizi){
return filtDizi.posts;
}else{
return 0;
}
}
console.log(fenomenGonderimSayisi(fenomenler, 'Will Smith'))



Expand All @@ -264,11 +313,19 @@ Not: Gönderi sayısı belli olmayan (NA) hesaba katmayın.
Örnek: platformaGoreCokGonderiYapanFenomen(fenomenler, 'TikTok') çağrıldığında "charli damelio" dönmelidir
*/

function platformaGoreCokGonderiYapanFenomen(/*kod*/){
/*kod*/
function platformaGoreCokGonderiYapanFenomen(fenomenler, platformAdi){
let gonderi = 0;
let feno = "";
fenomenler.forEach(fenomen => {
if(fenomen.platform === platformAdi && fenomen.posts !== "NA" && fenomen.posts > gonderi){
gonderi = fenomen.posts;
feno = fenomen.profile;
}
})
return feno;
}


console.log(platformaGoreCokGonderiYapanFenomen(fenomenler, 'TikTok'))

/* ***** GÖREVLERİN SONU ***** */

Expand Down