按字母顺序排序骨干集合

时间:2012-06-28 20:30:05

标签: javascript backbone.js underscore.js

有没有办法用_.sortBy方法或库的任何其他部分开箱即用?

2 个答案:

答案 0 :(得分:25)

你的意思是this

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

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

我说它开箱即用。

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

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

flatArray.sort();

here。也有效。

请注意,Underscore的sortBy会返回一个已排序的 new 数组,其中JavaScript的内置sort函数会对数组进行排序。

答案 1 :(得分:10)

由于您使用backbone.js标记标记了您的问题,我假设您要对一个集合进行排序,您只需要在您的集合上提供comparator函数,并且主干将保持集合的排序。 / p>

如果您的问题是特定的字母排序,我认为这是默认排序,来自backbone.js文档(我链接到上面)

chapters.comparator = function(chapter) {
  return chapter.get("page");
};