JavaScript JSON dosyasını fetch ile okurken ekrana yazdıramama

ErrorCorrection

Hectopat
Katılım
11 Ağustos 2022
Mesajlar
2.547
Çözümler
4
Daha fazla  
Cinsiyet
Erkek
JavaScript:
        let getData = async (url, func) => {
            let data = await (await fetch(url)).json()
            func(data)
        }
        writeEachOther = (array) =>{
            array.forEach(element => {
                console.log(element);
            });
        }
        getData("users.json", writeEachOther)


JSON:
{
    "1" : {
        "name" : "sinan",
        "age" : "21"
    },
    "2" : {
        "name" : "ahmet",
        "age" : "20"
    },
    "3" : {
        "name" : "fuat",
        "age" : "25"
    }
}


[COLOR=rgb(226, 80, 65)]Uncaught (in promise) TypeError: array.forEach is not a function[/COLOR]

forEach metodunu ne yaptıysam kullanamadım. array'e de çeviremiyorum. Nasıl dataları alabilirim teker teker?
 
JavaScript:
writeEachOther = (array) =>{
 Object.entries(array).forEach(([key, item]) => {
 console.log(item.name + ', yaş: ' + item.age) // key - value
 })
}

Bu şekilde düzenleyip dener misin?

Evet hocam çalıştı. Teşekkürler.
Bir sorum var hocam. Orada [key,item] olarak yazınca direk ilk 2 elemanını alıyor değil mi?
 
Evet hocam çalıştı. Teşekkürler.
Bir sorum var hocam. Orada [key,item] olarak yazınca direk ilk 2 elemanını alıyor değil mi?

Yok hocam,

key => dizi elemanının indeksini döner örn: 0, 1, 2, 3, 4, 5 gibi.
item => dizinin döngüdeki geçerli elemanını döner [item, item.name, item.surname, item.email, ...] şeklinde kullanabilirsin.
 
Yok hocam,

key => dizi elemanının indeksini döner örn: 0, 1, 2, 3, 4, 5 gibi.
item => dizinin döngüdeki geçerli elemanını döner [item, item.name, item.surname, item.email, ...] şeklinde kullanabilirsin.
Yok hocam ismi dönüyor olması lazım.

Kod:
writeEachOther = (array) => {
            Object.entries(array).forEach(([key, item]) => {
                console.log(key,item) // key - value
            })
        }

Böyle yazdığımda çıktı böyle oluyor.

1689029032980.png


Not:JSON'u kontrol amaçlı değiştirdim.
JSON:
{
  "user1": {
    "name": "sinan",
    "age": "21"
  },
  "user2": {
    "name": "ahmet",
    "age": "20"
  },
  "user3": {
    "name": "fuat",
    "age": "25"
  }
}
 
Orada [key,item] olarak yazınca direk ilk 2 elemanını alıyor değil mi?
Array destructuring olarak geçiyor bu işlem. Object.Entries ile objeyi [key, value] tipine çeviriyor. Sonra destructuring yapılıyor.
Eğer key değerine ihtiyacın olmasa idi;
JavaScript:
writeEachOther = (array) => {
    Object.values(array).forEach(item => {
        console.log(item)
    })
}

Destructuring işlemi sıklıkla kullanılan bir yöntem.
 

Technopat Haberler

Yeni konular

Geri
Yukarı