11217 sujets

JavaScript, DOM et API Web HTML5

Bonjour,

J'arrive pas à voir mon erreur,
donc pour mon projet de e-commerce j'ai plusieurs article
si quand je les ajoutes dans mon panier, je vais dans mon panier, la valeur dans le prix pour un canapé s'il y a plusieurs quantités se fait bien

par contre, dans mon total, cela prend en comptes Uniquement les prix comme s'il y avait qu'un seul article sans prendre en compte les quantités (et les prix indiqués)
du coup ça n'additionne pas les prix totaux pour chaque articles, mais ça fait comme s'il y avait qu'un article de chaque


  //--------------------------------Elements off cart-----------------------------

  let cartStructure = [];
  if (productLocalStorage === null){

    console.log("je suis vide");
  } 
  // Loop "forEach" who create all the elements i need in my cart
  else{

  productLocalStorage.forEach(productLocalStorage => {

    fetch("http://localhost:3000/api/products/" + productLocalStorage.id) 
      //Catch data i need from the api 

      .then(data =>data.json())
      .then(product=>{
      console.log(product);
      cartProducts(productLocalStorage, product);
      });
 
  });

  //----Variable who stock all the products price from my "productLocalStorage"----
  
  let totalCart = [];

  //Catch all the prices i need in "totalCart"
  for (let price = 0; price < productLocalStorage.length; price++){
    let priceProductsCart= productLocalStorage[price].price * productLocalStorage.price;

    totalCart.push(priceProductsCart);

    console.log("Tous les prix stockés dans 'totalCart'", totalCart);
  }

  //--------------------------------Total Price------------------------------------

  //Const who make the total off all the prices who are conteins in "totalCart"
  const reducer = (accumulator, curentValue) => accumulator + curentValue;

  //If there is no products in the cart, the valor return is "0"
  const totalCartPrice = totalCart.reduce(reducer,0);
  
  console.log("Total Prix Panier", totalCartPrice)

  //--------------------------------Price in the HTML------------------------------

  let totalPrice = document.getElementById('totalPrice');
  totalPrice.textContent = totalCartPrice;


merci par avance pour votre aide Smiley smile
Modifié par JohanDev (02 Nov 2021 - 13:53)