是否有更好的方法在Dart中编写此函数

时间:2020-08-15 22:17:00

标签: algorithm sorting flutter dart

我有按日期排序的项目清单。我要做的基本上是按today, yesterday, this week, this month, this year

对这些项目进行分类

现在我有这个

for (var i = 0; i < items.length; i++) {
      Item itm = items[i];
      DateTime itmDate = itm.date;
      int diff = itmDate.diffNow();

      if (diff == 0) {
        today.add(itm);
        return;
      }

      if (diff == -1) {
        yesterday.add(itm);
        return;
      }

      if (diff <= -7) {
        week.add(itm);
        return;
      }

      if (diff <= -31) {
        month.add(itm);
        return;
      }


      if (diff <= -365) {
        year.add(itm);
        return;
      }
    }
  }

diffNow()DateTime的扩展,它仅返回一个int,表示自此以来的天数

我如何优化此代码?

1 个答案:

答案 0 :(得分:-1)

相关问题