Int*_*els 3 javascript knockout.js
我有以下javascript和knockout js代码从xml文件返回三个值:
var populateCategories = function (myId, mySize) {
self.categoryOptions([]); //Empty the observable array
var myCategories = getCategories(myId);
var i = null;
for (i = 0; myCategories.length > i; i += 1) {
if (myCategories[i].ProductSize == mySize) {
self.categoryOptions.push({ "label": myCategories[i].Reference });
}
}
Run Code Online (Sandbox Code Playgroud)
返回值(myCategories [i] .Reference)是"最佳","更好"和"好".我需要将这些值排序为"Good","Better","Best".按字母顺序排序不起作用,因为它将返回"好","最佳","更好".
返回的数据没有我可以用来对它们进行排序的另一个键/字段,所以我需要以某种方式在for循环上手动执行此操作.
如何对数据进行排序,以便最终结果为"良好","更好","最佳"?
使用sort函数并在进行比较时将字符串映射为数字.
self.categoryOptions.sort(function(a,b){
var values = {Good: 0, Better: 1, Best: 2};
return values[a.label] - values[b.label];
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
49 次 |
| 最近记录: |