javascript - 自定义排序返回的数据

时间:2015-08-25 13:01:23

标签: javascript knockout.js

我有以下javascript和knockout js代码,它们从xml文件中返回三个值:

library(plyr)
ddply(mydf, .(Fruit), function(x) { plot.new(); grid.table(x) })

返回的值(myCategories [i] .Reference)," Best"," Better"和" Good"。我需要将这些值排序为" Good"," Better"," Best"。按字母顺序排序将无效,因为它将返回" Good"," Best"," Better"。

返回的数据没有我可以用来对它们进行排序的其他键/字段,所以我需要以某种方式在for循环上手动执行此操作。

如何对数据进行排序,以便最终结果为" Good"," Better"," Best"?

1 个答案:

答案 0 :(得分:8)

使用sort function并在进行比较时将字符串映射为数字。

self.categoryOptions.sort(function(a,b){
   var values = {Good: 0, Better: 1, Best: 2};
   return values[a.label] - values[b.label];
});