我有以下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"?
答案 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];
});