Javascript 从变量中删除选定对象

Javascript 从变量中删除选定对象,javascript,Javascript,我正在建造的购物车有问题。代码的一部分工作不正常,我在JS中找不到帮助我解决这个问题的选项。购买和删除按钮工作,但问题是当用户删除一个菜,然后添加更多。移除的碟片会再次打印,因为它已全部就绪,存储在变量“printingDishTxt”中。我正在试图找到从变量“.printingDishTxt”中删除dish的解决方案 您对实现这些功能有何建议 先谢谢你 我使用的代码: //Every time user click .button-buy the chosen dish is printing

我正在建造的购物车有问题。代码的一部分工作不正常,我在JS中找不到帮助我解决这个问题的选项。购买和删除按钮工作,但问题是当用户删除一个菜,然后添加更多。移除的碟片会再次打印,因为它已全部就绪,存储在变量“printingDishTxt”中。我正在试图找到从变量“.printingDishTxt”中删除dish的解决方案

您对实现这些功能有何建议

先谢谢你

我使用的代码:

//Every time user click .button-buy the chosen dish is printing in shopping cart

document.querySelectorAll(".button-buy").forEach(button =>{
  button.addEventListener("click", (e)=>{

      printingDishTxt+=`
      <div>
      <p>"printing name"</p>

      <div>
      <p>"printing price"</p>
      <a class="remove-button "><i class="fas fa-minus-circle"></i></a>
      </div>
      </div>
      `
      dishes.innerHTML=printingDishTxt;

//Every time user click the .remove-button the chosen dish is removing

        document.querySelectorAll(".remove-button").forEach(remove=>{
          remove.addEventListener("click", (e)=>{

              e.currentTarget.parentElement.parentElement.remove();

          });
        });

    });
  });
//每次用户单击“购买”按钮时,所选的菜都会在购物车中打印出来
document.querySelectorAll(“.button buy”).forEach(button=>{
按钮。addEventListener(“单击”,(e)=>{
打印文件+=`
“打印名称”

“印刷价格”

` dishs.innerHTML=printingDishTxt; //每次用户单击.remove按钮时,所选的菜都会被移除 document.querySelectorAll(“.remove按钮”).forEach(remove=>{ remove.addEventListener(“单击”,(e)=>{ e、 currentTarget.parentElement.parentElement.remove(); }); }); }); });
我建议您重新考虑实施,并:

  • 创建一个单独的变量(例如,
    store
    ),该变量将存储添加到购物车中的所有菜肴(使用其标识符,如果没有特定id,则可以在添加到购物车时创建一个随机变量)
  • 实现在HTML中序列化购物车项目的函数
  • 在“删除”按钮上单击,您将需要:
    • 存储
      变量中删除元素
    • 使用#2中实现的函数重新计算HTML

  • 谢谢你的回答@Andrii Dobrianskiy。若我理解正确,那个么变量“store”应该是一个数组,而每个盘都应该是该数组中的一个对象?而且,“连载”对我来说是新事物。我们讨论的是只打印购物车项目的功能吗?因为我在google上看到JS中的序列化有助于转换成适合存储的格式。。我不确定我是否理解正确,你是否也在考虑类似的事情。再次感谢您的时间和回答。如果我理解正确的话,变量“store”应该是一个数组,而每个盘都应该是该数组中的一个对象是的,store变量将是一个对象数组。2.而且,“连载”对我来说是新事物。我们讨论的是只打印购物车项目的功能吗?-是的,在您的例子中,它将是一个函数,它接受一个存储作为参数,并返回一个表示该存储的HTML字符串。您好。我会尽量这样做。再次感谢你,安德烈:)