如何计算表中的条目?

Posted

技术标签:

【中文标题】如何计算表中的条目?【英文标题】:How to count entries in a table? 【发布时间】:2018-06-22 23:19:33 【问题描述】:

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

所以现在我想计算表格中的条目并将它们放入警报框中。

这是我的服务代码和 datediff 函数

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】:

你可以做类似这样的事情:

    创建函数 初始化计数器 迭代todos,如果diffDays &gt; 250,计数器加1 退货计数器

这是大概的代码(可能会有些不同,但我想你会明白主要的想法):

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'

如果您不需要将此项目存储到新数组(例如),则上述方式是最便宜的方式之一。

【讨论】:

我不明白你有确切的代码吗?我的代码?

以上是关于如何计算表中的条目?的主要内容,如果未能解决你的问题,请参考以下文章

如何获取 Lua 表中的条目数?

在MySql中的每个新用户之后计算表中的行/条目

如果任何列与另一个表中的匹配行不同,如何插入行

PHP 计算数据库表中的条目

在 SQL 或 LINQ 中基于月份计算三个表中的条目

java mysql - 如何快速执行许多复杂的计算?