3

我有一个范围对象,它有一个包含空值的列表,我想在两个方向上对该列表进行排序,但空值必须始终位于末尾。我可以通过将对象分成 2 个来轻松做到这一点,一个带有空值,一个不带空值,然后最后粘在空值列表上。但是有没有更有效的方法来做到这一点?

例子:

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

排序:

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

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

1 回答 1

2

如果你只想对数组进行排序,JavaScript 有 method array.sort。这需要一个比较器功能。

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

如果您使用 angularjs 过滤器orderby,它也需要一个比较器功能,因此类似的方法可能会起作用。

于 2013-08-06T06:23:03.527 回答