标签: angularjs
我有一个范围对象,其中包含一个包含空值的列表,我想在两个方向上对此列表进行排序,但空值必须始终在结尾处。我可以通过将对象拆分为2来轻松地做到这一点,其中一个具有空值,一个没有然后粘在最后的空列表上。但有更有效的方法吗?
示例:
[1,null,5,7,2,null]
排序方法:
ASD: 1,2,5,7,null,null DESC: 7,5,2,1,null,null
答案 0 :(得分:2)
如果您只想对数组进行排序,JavaScript会使用方法array.sort。这需要比较器功能。
array.sort
您可以实现两个这样的函数,一个用于升序排序,另一个用于降序。在这两个函数中,您可以根据需要处理空值。请参阅文档here
如果你正在使用angularjs过滤器orderby它也需要一个比较器功能,所以类似的方法可能会有效。