AngularJS使用空值对列表进行排序

时间:2013-08-06 06:04:22

标签: angularjs

我有一个范围对象,其中包含一个包含空值的列表,我想在两个方向上对此列表进行排序,但空值必须始终在结尾处。我可以通过将对象拆分为2来轻松地做到这一点,其中一个具有空值,一个没有然后粘在最后的空列表上。但有更有效的方法吗?

示例:

[1,null,5,7,2,null]

排序方法:

ASD: 1,2,5,7,null,null

DESC: 7,5,2,1,null,null

1 个答案:

答案 0 :(得分:2)

如果您只想对数组进行排序,JavaScript会使用方法array.sort。这需要比较器功能。

您可以实现两个这样的函数,一个用于升序排序,另一个用于降序。在这两个函数中,您可以根据需要处理空值。请参阅文档here

如果你正在使用angularjs过滤器orderby它也需要一个比较器功能,所以类似的方法可能会有效。