微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我想遍历我的数组并计算我的值-JavaScript

如何解决我想遍历我的数组并计算我的值-JavaScript

我希望能够循环我的数组并计算总价并将其显示在控制台中。 这应该是一个购物车应用程序。我将所有锚标签分配给循环遍历锚标签的购物车变量,并将标签分配给我的饮料数组中的值以便能够显示它,但我无法显示所有价格的总金额。

html

<section id="menu">
    <h2>Menu</h2>
    <p>Click an item to add it to your order.</p>
    <ul class="coffeeMenu">
        <li><a id="espresso" class="add-to-cart" href="#"></a></li>
        <li><a id="latte" class="add-to-cart" href="#"></a></li>
        <li><a id="cappuccino" class="add-to-cart" href="#"></a></li>
        <li><a id="coffee" class="add-to-cart" href="#"></a></li>
        <li><a id="biscotti" class="add-to-cart" href="#"></a></li>
        <li><a id="scone" class="add-to-cart " href="#"></a></li>
    </ul>
</section>

javascript

  let cart = document.querySelectorAll('.add-to-cart');

  let beverages = [{
    name: 'espresso',price: 1.95,inCart: 0,},{
    name: 'latte',price: 2.95,{
    name: 'cappuccino',price: 3.45,{
    name: 'coffee',price: 1.75,{
    name: 'biscotti',{
    name: 'scone',//run a loop to through the images and the array
 for (let i = 0; i < cart.length; i++) {
cart[i].addEventListener('click',() => {
    cartNumber(beverages[i]);
    // totalCost(beverages[i]);
    })
  }



   // display the prices in the textarea

 let cartNumber = (beverages) => {
document.getElementById("order").textContent += beverages.name + " = "+ beverages.price 
    +"\n"
let productNumbers = localStorage.getItem('cartNumber')
productNumbers = parseInt(productNumbers);
if (productNumbers) {
    localStorage.setItem('cartNumber',productNumbers + 1);
    document.getElementById("total").textContent
} else {
    localStorage.setItem("cartNumber",1);
    document.getElementById('tot').textContent = 1;

   for (let i = 0; i < cart.length; i++) {
    cart[i].addEventListener('click',() => {
    for(var price in beverages ) {
        console.log(price,beverages["prices"])
    }
})
   }

      console.log(beverages["price"]);

    let totalCost = (beverages) => {
        let cartCost = localStorage.getItem('totalCost');
        console.log(cartCost)
        if(cartCost != null) {
            cartCost = parseInt(cartCost);
            localStorage.setItem("totalCost",cartCost + beverages.price)
            document.getElementById("total").textContent = "$" + cartCost ;
            document.getElementById("cartTotal").textContent = cartCost;
    
    
            
        } else {
        localStorage.setItem("totalCost",beverages.price)
        }
    }
   

解决方法

与其写太多和循环......看这个,它可能会帮助你构建你想要的东西

HTML

<section id="menu">
  <h2>Menu</h2>
  <p>
    Click an item to add it to your order.
  </p>
  <ul class="coffeeMenu">
    <li><a onclick="add_to_cart('espresso')" class="add-to-cart">espresso</a></li>
    <li><a onclick="add_to_cart('latte')" id="latte" class="add-to-cart">latte</a></li>
    <li><a onclick="add_to_cart('cappuccino')" id="cappuccino" class="add-to-cart">cappuccino</a></li>
    <li><a onclick="add_to_cart('coffee')" id="coffee" class="add-to-cart">coffee</a></li>
    <li><a onclick="add_to_cart('biscotti')" id="biscotti" class="add-to-cart">biscotti</a></li>
    <li><a onclick="add_to_cart('scone')" class="add-to-cart ">scone</a></li>
  </ul>
  <button id="total" onclick="cart_total()">Total</button>
</section>

JS

  let beverages = [{
    name: 'espresso',price: 1.95
  },{
      name: 'latte',price: 2.95
    },{
      name: 'cappuccino',price: 3.45
    },{
      name: 'coffee',price: 1.75
    },{
      name: 'biscotti',price: 1.95
    },{
      name: 'scone',price: 2.95
    }]

  let cart = [];
  let sum = 0;


  function add_to_cart(item) {
    let qty = prompt('Please enter quantity ')
    qty = parseInt(qty);
    if (isNaN(qty)) {
      qty = 1
    }
    cart.push({
      name: item,quantity: qty
    });
  }

  function cart_total() {
    console.log(cart)
    cart.forEach(item => {
      beverages.forEach(beverage => {
        if (beverage.name === item.name) {
          sum += beverage.price * item.quantity
        }
      })
    });
    console.log(sum)
  }

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?