按字母顺序排序骨干集合

Wil*_*ock 13 javascript backbone.js underscore.js

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

Dan*_*Tao 25

你的意思是这样的

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

var sorted = _(array).sortBy("name");
Run Code Online (Sandbox Code Playgroud)

我说它开箱即用.

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

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

flatArray.sort();
Run Code Online (Sandbox Code Playgroud)

看到这里.也有效.

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


Jac*_*ack 10

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

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

chapters.comparator = function(chapter) {
  return chapter.get("page");
};
Run Code Online (Sandbox Code Playgroud)