v2.5.2
Giriş yap

Js matematik işlem sonucu NaN dönmesi

beerkaan
338 defa görüntülendi

Merhaba ben aşağıda bulunan kodu yazınca çıktısı NaN olarak görünüyor. Çarpma işlemini yapmayı becremedim.

    // useEffect(() => {
    setTotal(
      basket.map((acc, item) => {
        return (
          acc +
          item.amount *
            products.filter((product) => product.id === item.id).price
        );
      }, 0)
    );
  }, [basket]);
  
  
  toplam: [object Object]NaN
  
tayfunerbilen
637 gün önce

sanirim reduce kullanacaktın ama map kullanmışsın :) aynı işlemi reduce ile deneyebilirsin. Ve her ihtimale karşı filter'da bir şey dönüyor mu diye kontrol edebilirsin, çarpımı öncelik sırasında belirtebilirsin.

setTotal(
  basket.reduce((acc, item) => {
    return (
      acc +
      (item.amount * (products.filter((product) => product.id === item.id)?.price || 0))
    );
  }, 0)
);