13

有没有办法使用 _.sortBy 方法或库的任何其他部分开箱即用地做到这一点?

4

2 回答 2

25

你的意思是这样吗?

var array = [
    { name: "banana" },
    { name: "carrot" },
    { name: "apple" }
];

var sorted = _(array).sortBy("name");

我会说它开箱即用。

如果你想对一个普通的字符串数组进行排序,你可能只想使用sort

var flatArray = ["banana", "carrot", "apple"];

flatArray.sort();

这里。也有效。

请注意,下划线sortBy返回一个已排序的数组,其中 JavaScript 的内置sort函数对数组进行了适当的排序。

于 2012-06-28T20:35:32.493 回答
10

由于您使用backbone.js 标签标记了您的问题,我假设您的意思是对集合进行排序,您只需要在您的集合上提供一个比较器功能,并且主干将保持集合排序。

如果您的问题特别是按字母排序,我相信这是默认排序,来自主干.js 文档(我在上面链接到它)

chapters.comparator = function(chapter) {
  return chapter.get("page");
};
于 2012-06-28T20:40:28.177 回答