Xugart adlı üyeden alıntı: mesajı görüntüle
Aşağıdaki gibi bir kod yazdım. Burada altının değerini almak için Fetch API kullanıyorum fakat ne yaptıysam gramAltin değişkenine bu değeri atayamadım. Hatayı nerede yapıyorum yardımcı olabilecek var mı?

        let gramAltin;
        // Fetch ile veriyi çek
        fetch('https://finans.truncgil.com/v3/today.json')
        .then(response => response.json())
        .then(data => {
            // Veriden gram altın değerini al ve değişkene ata
            gramAltin = data["gram-altin"]["buying"];
            // Sonuçları ekrana yazdır
            yazdirSonuclari(gramAltin);
        })
        .catch(error => console.error(error));
        function yazdirSonuclari(gramAltin) {
            console.log(gramAltin)
            // Toplam alınan ve satılan gramı hesapla
            let toplamAlinanGram = altinAlimlar.reduce((acc, curr) => acc + curr.gram, 0);
            let toplamSatilanGram = altinSatislar.reduce((acc, curr) => acc + curr.gram, 0);
            // Toplam alınan ve satılan tutarı hesapla
            let toplamAlinanTutar = altinAlimlar.reduce((acc, curr) => acc + curr.gram * curr.fiyat, 0);
            let toplamSatilanTutar = altinSatislar.reduce((acc, curr) => acc + curr.gram * curr.fiyat, 0);
            // yardımcı fonksiyonlar
            function toplaVeSayi(dizi) {
                let toplam = 0;
                let sayi = 0;
                for (let i = 0; i < dizi.length; i++) {
                    toplam += dizi[i].fiyat * dizi[i].gram;
                    sayi += dizi[i].gram;
                }
                return { toplam, sayi };
            }
            function ortalamaFiyat(dizi) {
                const { toplam, sayi } = toplaVeSayi(dizi);
                return toplam / sayi;
            }
            // Ortalama alış ve satış fiyatlarını hesapla
            let ortalamaAlisFiyati = ortalamaFiyat(altinAlimlar);
            let ortalamaSatisFiyati = ortalamaFiyat(altinSatislar);
            // Portföy hesaplamalar
            let kalanGram =  toplamAlinanGram - toplamSatilanGram;
            let grKurDeger = kalanGram * gramAltin;
            let karZarar =  (ortalamaSatisFiyati) - (ortalamaAlisFiyati);
            let netKarZarar = (grKurDeger + toplamSatilanTutar) - toplamAlinanTutar;
            let kalanGramKar = gramAltin - ortalamaAlisFiyati;
            // Sonucu ekrana yazdır
            let guncelPortfoy = document.getElementById("guncelPortfoy");
            guncelPortfoy.innerHTML = `
                <h2 class="mt-5">Portföyum</h2>
                <div class="card-group">
                    <div class="card border-secondary mb-3 col-4">
                        <div class="card-header">GÜNCEL KUR</div>
                        <div class="card-body text-secondary">
                            <h5 class="card-title">${gramAltin}₺</h5>
                        </div>
                    </div>
                    <div class="card border-secondary mb-3 col-4">
                        <div class="card-header">KASA DEĞERİ</div>
                        <div class="card-body text-secondary">
                            <h5 class="card-title">${grKurDeger.toFixed(2)}₺ (${kalanGram}gr)</h5>
                        </div>
                    </div>
                    <div class="card border-secondary mb-3 col-4">
                        <div class="card-header">KAR/ZARAR</div>
                        <div class="card-body text-secondary">
                            <h5 class="card-title">${netKarZarar.toFixed(2)}₺</h5>
                        </div>
                    </div>
                </div>
                <ul class="list-group">
                    <li class="list-group-item">Toplam Maliyet: ${toplamAlinanTutar.toFixed(2)}₺ (${toplamAlinanGram}gr)</li>
                    <li class="list-group-item">Toplam Satılan: ${toplamSatilanTutar.toFixed(2)}₺ (${toplamSatilanGram}gr)</li>
                    <li class="list-group-item">Ort. Alış: ${ortalamaAlisFiyati.toFixed(2)}₺ (${toplamAlinanGram}gr)</li>
                    <li class="list-group-item">Ort. Satış: ${ortalamaSatisFiyati.toFixed(2)}₺ (${toplamSatilanGram}gr)</li>
                    <li class="list-group-item">Kalan altın GR başı kar: ${kalanGramKar.toFixed(2)}₺</li>
                </ul>
            `;
        }
Belki şöyle çözülür:

bunu
     gramAltin = data["gram-altin"]["buying"];
bununla değiştirin:
     gramAltin = data["gram-altin"]["Buying"];