首页 > 解决方案 > .indexOf 不是函数 - 合计购物车的总金额

问题描述

我正在构建一个购物车,但在获取它的总量时遇到了问题。

let calculPrice = [];
    for (productLocalStorage of productLocalStorage) {
    let article = productLocalStorage.prix;
    calculPrice.push(article);
    };
    
    const reducer = (accumulator, currentValue) => accumulator + currentValue;
    const totalPrice = calculPrice.reduce(reducer, 0);

    console.log(totalPrice);

为了获得总金额,我创建了一个工作正常的循环,但是当我尝试删除项目时出现错误

"cart.js:77 Uncaught TypeError: productLocalStorage.indexOf is not a function
at HTMLButtonElement.<anonymous> (cart.js:77)"

这是我的删除按钮中的事件

let reachDeleteButton = document.querySelectorAll(".product-delete");
      console.log(reachDeleteButton);
        //Creation d'un tableau vide
      let tab = [];

      for (let i = 0; i < reachDeleteButton.length; i++){
          reachDeleteButton[i].addEventListener("click", (event) => {
              event.preventDefault();
                //Récupération de l'index du produit associé au bouton supprimer
                
                let getIndexOnLocalStorage = productLocalStorage.indexOf(productLocalStorage[i]);
                    console.log(getIndexOnLocalStorage);
                    tab = productLocalStorage
                let response = confirm("Vous allez retirer ce produit de votre panier, voulez-vous continuer?")

                if (response == true ) {
                    tab.splice(getIndexOnLocalStorage, 1)
                    productLocalStorage = localStorage.setItem("product", JSON.stringify(tab));
                    window.location.href ="cart.html";}

                else {
                }

          })
              }

标签: javascript

解决方案


推荐阅读