如何计算表格中的条目?

时间:2018-01-13 20:46:32

标签: angular typescript angular2-forms angular4-forms

你好我写了一个函数来计算当前时间和过去日期之间的天数。因此,如果差异大于250,我会说ngif =写旧!

所以现在我想计算表中的条目并将它们放在一个警告框中。

以下是我的服务代码和约会函数

this.todoService.getTodos()
  .then(td => {
    for(let i=0; i<td.todos.length;i++) {
      console.log(td.todos[i]);
      td.todos[i]["diffDays"]= this.dateDiff(new Date(),td.todos[i]["time"]);
    }
    this.todos = td.todos;
  })



private dateDiff(date1, date2) {
  const daydiff = moment(date1).diff(moment(date2), "days");
  return Math.abs(daydiff);
}

Ngif的代码

 <td><div *ngIf="todo.diffDays >250">old</div> </td>

所以现在我有一个表示表格条目的警告框。

<div *ngIf="todos.length >= 0 " class="Box">
  <div align="center" class="alert alert-info" role="alert">
    <strong>There are {{todos.length}} Entries.</strong>
  </div>
</div>

所以现在的问题是:我应该做些什么来计算旧条目?

谢谢!

1 个答案:

答案 0 :(得分:0)

你可以做类似的事情:

  1. 创建功能
  2. 初始计数器
  3. todos进行迭代,如果diffDays > 250
  4. ,则将计数器增加1
  5. 返回柜台
  6. 这是近似代码(可以略有不同,但我认为你会抓住主要思想):

    countOldEntries(): number {
      let counter: number = 0;
      this.todos.forEach(td => {
        td["diffDays"] > 250 ? counter++ : null;
      });
      return counter; // will return the number of 'todos' with 'diffDays > 250'
    }
    

    如果您不需要将此项目存储到新阵列(例如),上面的方法是最便宜的。