javascript比较对象原型并对它们求和

时间:2018-11-07 23:31:38

标签: javascript arrays prototype javascript-objects

我需要帮助,需要进行JavaScript练习,我需要在JavaScript中创建一个脚本,用户插入月份,而雨的ML属于该月份,程序将返回一个带有月份和雨,但是它需要对重复月份的降雨求和,例如一月重复3次,因此表格需要显示这三个月的总和。

我这样做了,但是重复循环两次重复月份,我不知道重复月份的总和之后如何中断它,这是代码:

var proceed = true;

function Mes(mes, lluvia) {
  this.month = mes;
  this.rain = lluvia;
}

datos = [];

meses = ["Enero", "Febrero"];

while (proceed) {
  var mes = prompt("Ingresa el mes", "");
  var lluvia = parseInt(prompt("Ingrese los ml de lluvia correspondiente al mes", ""));

  new Mes(mes, lluvia);
  datos.push(new Mes(mes, lluvia));
  proceed = confirm("Deseas continuar?");
}


for (var j = 0; j < datos.length; j++) {
  if (datos[j].month == meses[0]) {
    var initialValue = 0;
    var sum = datos.reduce(function(accumulator, currentValue) {
      return accumulator + currentValue.rain;
    }, initialValue)
    //document.write("El acumulado de todos los meses ingresados es de " + sum);

    document.write("<table>");
    document.write("<tr>");
    document.write("<td>" + datos[j].month + "</td>");
    document.write("<td>" + sum + "</td>");
    document.write("</tr>");
    document.write("</table>");
  } else {
    document.write("<table>");
    document.write("<tr>");
    document.write("<td>" + datos[j].month + "</td>");
    document.write("<td>" + datos[j].rain + "</td>");
    document.write("</tr>");
    document.write("</table>");
  }
}

亲切的问候,

1 个答案:

答案 0 :(得分:0)

创建一个对象,其键是月份名称,值是降雨总数。遍历数组,然后将每个雨量加到适当的总数中。

此外,您应该只创建一个表;循环应该只创建行。

log(0)