自定义排序返回的数据
custom sort returned data
我有以下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 });
}
}
返回值(myCategories[i]. reference)是"Best","Better"answers"Good"。我需要排序这些值总是"好","更好","最好"。按字母顺序排序将不起作用,因为它将返回"Good","Best","Better"。
返回的数据没有另一个键/字段可以用来对它们进行排序,因此我需要在for循环中以某种方式手动执行此操作。
我如何排序数据,使最终结果是"好","更好","最好"?
在进行比较时使用sort函数并将字符串映射为数字。
self.categoryOptions.sort(function(a,b){
var values = {Good: 0, Better: 1, Best: 2};
return values[a.label] - values[b.label];
});
相关文章:
- JSON数组数据返回Undefined
- AngularJS中的页面之间共享数据返回空
- post()向服务器动态生成的数据返回空响应
- 如何从jQuery对象文本正确调用服务器端ASP.NET并将数据返回给jQuery
- d3从mysql数据库导入数据返回“0”;未定义”;
- JSON可以't访问数据返回未定义
- 让 ajax 数据返回到调用函数 - 需要澄清之前的答案
- ajax 调用 PHP 数据返回 VM92:1 未捕获语法错误:意外的标记 {.
- Jquery ajax 请求无法将数据返回给其他函数
- 在 jquery 中将数据返回给 ajax 调用
- Meteor.methods:从内部回调将数据返回给客户端
- 将PHP数据返回到我当前的网页,供Javascript访问
- ajax 调用如何将数据返回给变量
- 将数据返回到索引.js节点表达式
- j查询帖子数据返回比较不起作用
- 节点 API 未将数据返回给客户端 ajax 请求
- jQuery 函数在 AJAX 数据返回上不起作用
- AJAX 将数据返回给 jquery
- 中继:获取递归数据返回空值
- 根据chrome.storage中的数据返回chrome.webRequest.onBeforeRequest的值