比较嵌套对象数组中的月份

时间:2013-07-13 16:24:24

标签: javascript jquery arrays

以下问题让我头疼。我正在构建一个应用程序来比较交易数据与租户列表以及他们应该支付的租金。 我把它运行得很好,除了它将每笔交易与月租比较。我想要做的是首先每月添加所有(相关)交易金额,然后进行比较。

我应该构建另一个嵌套的for - 循环来比较运行此循环之前的所有事务月份吗?我可能会丢掉多年的交易数据,这使得效率非常低......

非常感谢任何提示。

  var table = "<table><thead><tr><th>Rek</th><th>Name</th><th>Date</th><th>Amount</th><th>Rent</th><th>Diff</th></tr></thead><tbody>";
  for (var i = 0; i < data.length; i++) {
    for (var j = 0; j < tenant.length; j++) {
      if (tenant[j].reks.indexOf(data[i].rek) == -1)
        continue;
      else {
        var diff = tenant[j].rent - data[i].amount; //TODO monthly!!!
        var style = " style='background-color: ";
        if (diff > 0)
          style += "red;'";
        else
          style += "green;'";

        table += "<tr><td>" + data[i].rek
          + "</td><td>" + data[i].name
          + "</td><td>" + (data[i].date.getMonth() + 1) + "-" + data[i].date.getFullYear()
          + "</td><td>&euro; " + data[i].amount
          + "</td><td>&euro; " + tenant[j].rent
          + "</td><td" + style
          + ">" + diff
          + "</td></tr>";
      }
    }
  }
  table += "</tbody></table>";

  $('#top').html(table);

0 个答案:

没有答案