Javascript 如何计算一系列商品的总价?

标签 javascript arrays

我是 js 新手,在网上商店中有一个购物车,我正在为 Javascript 作业制作,但当用户单击要添加到购物车的商品时,我无法让我的总价显示在网页上。这是我的一系列项目,任何帮助将不胜感激,谢谢

var cart;
var items = new Array(); //create array to store items
items[0] = "Greatest Hits CD", 10;
items[1] = "Girls CD", 10;
items[2] = "Shirt1", 20;
items[3] = "Mask Tee", 20;
items[4] = "Crewneck", 25;
items[5] = "Tour Poster", 9;

这是我的显示功能

this.display = function () {  
this.holder.innerHTML = "";  
this.totalprice = 0; 
for (var i=0; i<this.quantities.length; i++) {  
if (this.quantities[i] > 0) {  
this.totalprice += this.quantities[i]*this.items[i]; 
var elm = document.createElement('div');  
elm.innerHTML = "<span class='name'>"+this.items[i]+" \</span><span class='quantity'>Quantity: "+this.quantities[i]+"</span>";  
this.holder.insertBefore(elm, null);  
    }  
} 
var elm = document.createElement('div');  
elm.innerHTML = "<span class='price'>Total Price: $"+this.totalprice+" </span>"; 
this.holder.insertBefore(elm, null);  
document.getElementById('quantities').value = cart.quantities; 
document.getElementById('items').value = cart.items; 
    }

最佳答案

Array Reduce方法对此非常有用,特别是与 Array destruct 的组合,因为我们只关心价格:

var items = [ 
    ["Greatest Hits CD", 10],
    ["Girls CD"        , 10],
    ["Shirt1"          , 20],
    ["Mask Tee"        , 20],
    ["Crewneck"        , 25],
    ["Tour Poster"      , 9]
];

console.log(
    items.reduce((total, [,price]) => total + price, 0)
);

关于Javascript 如何计算一系列商品的总价?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40531200/

相关文章:

Javascript OOP - jQuery 在 ajax 请求中调用 "this"

javascript - 将元素的内容打印到控制台

javascript - 从 JavaScript 文件加载变量时在文件名中使用今天的日期

javascript - AS3 ByteArray 中这些 JavaScript 函数的等效调用是什么?

c - 为什么我不能使用 malloc 将数组大小设置为大于所需的大小?

javascript - 为什么 Object.create() 和 new Object() 计算出不同的原型(prototype)?

javascript - Node.js - "Cannot find module ' module.js'“

arrays - knockout 购物车编辑器示例问题 : extending cascading drop-downs with nested arrays and functions

javascript - 如何循环遍历新生成的数组而不覆盖它?

javascript - 如何获取数组中所有出现的相同值的索引?