Javascript 将数组中的项数相加

Javascript 将数组中的项数相加,javascript,arraylist,Javascript,Arraylist,我正在尝试将数组中的所有项相加。我已经尝试过修改其他代码来适应这一点,但到目前为止,我没有太多的运气。我对这一点非常陌生 var coinArray = new Array("penny", "penny", "penny", "penny", "nickle", "nickle", "nickle", "dime", "dime", "quarter", "quarter", "half dollar"); 非常感谢您的帮助。您可以使用push方法将元素添加到数组中

我正在尝试将数组中的所有项相加。我已经尝试过修改其他代码来适应这一点,但到目前为止,我没有太多的运气。我对这一点非常陌生

var coinArray = new Array("penny", "penny", "penny", "penny", "nickle", "nickle", "nickle",          "dime", "dime", "quarter", "quarter", "half dollar");

非常感谢您的帮助。

您可以使用push方法将元素添加到数组中

    var coinArray = new Array("penny", "penny", "penny", "penny", "nickle", "nickle", "nickle", "dime", "dime", "quarter", "quarter", "half dollar");
coinArray.push("cent");
我想补充一点,这似乎是一个来自Comp-Sci课堂作业的很多内容:-

var coins = { 'penny': .01, 'nickle': .05, 'dime': .10, 'quarter': .25, 'half dollar': .50};

var coinArray = new Array("penny", "penny", "penny", "penny", "nickle", "nickle", "nickle",          "dime", "dime", "quarter", "quarter", "half dollar");

var total = 0;

for (var i = 0; i < coinrArray.length; i++)
    total += coins[coinrArray[i]];

如果你的意思是计算你在那个数组中有多少钱,你需要赋值,我更喜欢使用一个对象。请注意,它应该是镍,但我保持不变

var amount = { "penny": 1, "nickle": 5, "dime": 10, "quarter": 25, "half dollar": 50  };
然后通过数组循环求和,得到一个总变量

演示:

Array.prototype.reduce和键值对是一种干净的方法

var coins = {
    penny: 1,
    nickle: 5,
    dime: 10,
    quarter: 25,
    "half dollar": 50
};

var result = coinArray.reduce(function(p, v) {
    return p + coins[v];
}, 0);

alert(result); // 139
演示:

使用jquery

var coinArray = new Array("penny", "penny", "penny", "penny", "nickle", "nickle", "nickle", "dime", "dime", "quarter", "quarter", "half dollar");

var total = {};

$.each(coinArray, function(item) {

    var coin = coinArray[item];

    if (!total[coin]) total[coin] = 0;

    total[coin] += 1;


});

加起来是什么意思?你可以将多个项目推到一个数组中。pushcent,dollar;您应该强制硬币名称为小写,就像枚举器对象键一样。
var coins = {
    penny: 1,
    nickle: 5,
    dime: 10,
    quarter: 25,
    "half dollar": 50
};

var result = coinArray.reduce(function(p, v) {
    return p + coins[v];
}, 0);

alert(result); // 139
var coinArray = new Array("penny", "penny", "penny", "penny", "nickle", "nickle", "nickle", "dime", "dime", "quarter", "quarter", "half dollar");

var total = {};

$.each(coinArray, function(item) {

    var coin = coinArray[item];

    if (!total[coin]) total[coin] = 0;

    total[coin] += 1;


});