Javascript 如何在angular中创建自定义orderBy条件?

Javascript 如何在angular中创建自定义orderBy条件?,javascript,angularjs,Javascript,Angularjs,我有一个对象数组,每个对象包含一个日期和一个周数,如下所示: datesArray: [ { Date: "2015-08-01T00:00:00", WeekNumber: 31 }, { Date: "2015-09-01T00:00:00", WeekNumber: 36 }, { Date: "2015-10-01T00:00:00", WeekNumber: 40 }, { Date: "2015-11-0

我有一个对象数组,每个对象包含一个日期和一个周数,如下所示:

datesArray: [
          { Date: "2015-08-01T00:00:00", WeekNumber: 31 },
          { Date: "2015-09-01T00:00:00", WeekNumber: 36 },
          { Date: "2015-10-01T00:00:00", WeekNumber: 40 },
          { Date: "2015-11-01T00:00:00", WeekNumber: 44 },
          { Date: "2015-12-01T00:00:00", WeekNumber: 49 }
       ];
我还可以访问作用域上的变量,该变量显示当前周的(它来自后端)

我想按以下条件对数组中的对象进行排序:

  • 数组中的第一个日期对象应该是下一个星期(在当前星期之后),如果有
  • 数组中的下一个日期对象应该是与当前周相同的周(如果可用)
  • 下一步应该是一个包含5个日期对象的列表,其中包含以前的周数,例如weekNumber小于当前周数
  • 这可能是通过重复上的自定义筛选函数完成的:

    <div ng-repeat="date in datesArray | customOrderingFunction"></div>
    
    
    
    虽然我没有太多的运气与功能,所以任何帮助将不胜感激


    谢谢。

    使用过滤器:你能展示一下你想如何对你的例子进行排序吗?我想你想做的是按照你的想法制作一个自定义过滤器。是一篇帮助我构建自己的过滤器的伟大文章。基本上,您希望对数据运行3次,检查条件并将其推送到一个临时数组中,然后返回。就像链接中的“过滤器2:重复过滤器”一样。是否需要根据用户输入更改顺序,还是始终相同?如果总是一样,我会在使用lodash的排序函数获取数据后立即对数据进行排序。非常感谢@CarstenFarving的文章,它帮助我创建了自定义函数。基本上我做了3个循环,根据上面3个循环的条件,我填充了过滤器数组。干杯
    <div ng-repeat="date in datesArray | customOrderingFunction"></div>