v2.5.2
Giriş yap

Js toplama

frexx
537 defa görüntülendi

Merhaba arkadaşlar bir javascript kodu var ve yardım etmeniz gerekiyor.

  localStorage.setItem("sayi", 15);

Ve bu locale kaydediliyor, bunun üstüne başka veri yazdırıp toplama işlemi yaptırmak istiyorum.
Örnek:

    localStorage.setItem("sayi", 15);
     localStorage.setItem("sayi", 30);

Sayı 30 değeri gönderince sayı 15in üstüne eklenmesi lazım.
Nasıl yapabilirim ?

Cevap yaz
Cevaplar (7)
ozguracar
1072 gün önce

Öncelikle eski değeri almalısın bunun için

    localStorage.getItem("sayi")

Fonksiyonu kullanılır sonrasında alınan değeri number ifadeye çevirmen gerekir.

    Number(localStorage.getItem("sayi"))

Bundan sonra gelen ifadenin number olduğundan emin olmak için birkaç kontrol daha yapmalısın.

    let oldValue = Number(localStorage.getItem("sayi"))
    if(typeof oldValue !== 'number' || isNaN(oldValue)){
       oldValue=0
    }

Eğer kontrolü geçemezse sıfır olarak baz alıp kodunun hata vermesini engellersin.
Şimdide eski değerini yeni değerle toplayıp storagetaki değerin üzerine yazabilirsin.

    localStorage.setItem("sayi", oldValue + 30);

Tüm code;

    let oldValue = Number(localStorage.getItem("sayi"))
    if(typeof oldValue !== 'number' || isNaN(oldValue)){
       oldValue=0
    }
    localStorage.setItem("sayi", oldValue + 30);
mucahitbaser
1075 gün önce

kardeşim ilk başta bir varable oluşutur
const total = 0
getLocalStorageTotal(number){

total = total+number
localStorage.setItem("sayi", total);

}

böyle deneyebilirsin

gamerboytr
1077 gün önce

localStorea Kaydedilen Bir Inteager Otomatik Olarak String Olur Ama parseInt Fonksiyonuyla Yapabilirsiniz.

localStorage.setItem("sayi", 15);
localStorage.setItem("sayi", parseInt(localStorage.getItem("sayi"))+30);

console.log(localStorage.getItem("sayi")) // 45

İyi Günler

jct
1085 gün önce

"yardım etmeniz gerekiyor." @qplot

:)))))

gokcin
1085 gün önce

Şöyle birşey yapsan ?

Soracağın tüm soruları bir metinle ve tek sayfada bunu toparla. Günde 10 tane konu görüyorsam %90 sizin :-)

böylelikle çözülmüş olur.

En güzel soru soracağın yerde bunu araştırıp dene ve öyle yap.

qplot
1085 gün önce

" yardım etmeniz gerekiyor. " @abdullahx

abdullahx
1085 gün önce

Anlayabileceğini pek zannetmiyorum ama en azından bi okursun.
localStorage e o yazdığın gibi bir integer değer kaydedemezsin, otomatik olarak string e dönüştürülür. Ve yine localstorage üzerinde doğrudan işlem yapamazsın. Önce getItem ile değeri alacaksın. Yeni sayı ile toplayıp yeniden kayıt edeceksin. Tabii Toplama işlemi senin istediğin şekilde yapılabilmesi için o aldığın sayıyı parseInt fonksiyonundan geçirmen gerekiyor önce. Anlatmak yerine direkt kod bekliyorsun biliyorum, ama acemi olmayan yazılımcı bu anlattıklarımı koda dökebilir.