在骨干中以字母数字的形式对集合进行排序

时间:2015-11-10 02:35:52

标签: javascript backbone.js natural-sort

我已经编写了一个比较器来根据“id”对集合进行排序,如下所示:

comparator: function(coll) {
    return coll.get('id');
}

这适用于输入:“id-1,id-0,id-2,id-199”排序为“id-0,id-1,id-2,id-199”

但是这里没有数字排序:“id-1,id-0,id-2,id-199,id-99”为“id-0,id-1,id-2,id-199,id -99“ - id-99应该在id-199之前。

1 个答案:

答案 0 :(得分:0)

正如@suish所评论的那样解决方法是用空字符串替换所有非数字部分。

coll.get('id').replace(/[^0-9^\.]/g,"")|0 –