如何对AJAX请求以JSON格式返回的数据进行排序?
How do I Sort the data returned in JSON format by an AJAX request?
我有一个针对sharepoint API的AJAX请求。它返回一个文件数组。我正在使用这些结果数组并向Select元素添加一系列选项。我希望能够按名称属性按字母顺序排序数组。我该怎么做呢?我当前的Ajax调用如下。谢谢你
jQuery.ajax({
url: url,
type: "GET",
headers: {
"accept": "application/json;odata=verbose",
},
success: function (data) {
jQuery("#items").empty();
jQuery("#items").prepend('<option value="-1">-Select Item-</option>').val('-1');
jQuery.each(data.d.results, function (index, item) {
jQuery("#items").append('<option value="' + item.ServerRelativeUrl + '">' + item.Name + '</option>');
});
jQuery("#items").val("");
},
error: function () {
alert("Error getItems");
}
});
};
你可以在javascript中排序数组,但是你不能让Sharepoint为你返回一个有序的列表吗?这似乎是个有用的功能。总之,在javascript中:
jQuery("#items").prepend('<option value="-1">-Select Item-</option>').val('-1');
var res = data.d.results.sort(function(a,b){
if(a.Name < b.Name) return -1;
if(a.Name > b.Name) return 1;
return 0;
});
jQuery.each(res, function (index, item) {
jQuery("#items").append('<option value="' + item.ServerRelativeUrl + '">' + item.Name + '</option>');
});
如果我是你,我会使用下划线
http://underscorejs.org/sortBy
像这样的
var array = [
{ name: "banana" },
{ name: "carrot" },
{ name: "apple" }
];
var sorted = _.sortBy(array,"name");
并传递数组
中的data.d.results希望有所帮助
相关文章:
- 对角度数据表中括号内的数字进行排序
- 对损坏的子行进行排序的数据表
- 数据表排序但对行进行分组
- 角度未排序数据
- 数据表通过分析一列的值对其进行排序
- 排序数据表
- 对d3堆叠条形图的数据进行排序
- 如何对JQuery Handlebar生成的数据进行排序
- 数组数据排序类似mysql查询
- 使用JQuery对子表数据排序
- 数据排序应该在客户端还是服务器上完成
- a不同列列表的未定义或空引用的数据排序错误
- 日历数据排序 json 树
- 如何在ng-repeat中使用嵌套对象将数据排序为angular js中的JSON数据
- 使用knockout.js与json数据排序列表
- 如何突出显示页面上数据排序类型的菜单项
- dojox.grid.EnhancedGrid中的数据排序
- 在循环值时对JSON数据排序
- 帮助将DIV中的属性数据排序捕获为数组?Jquery/Javascript
- 如何从属性创建数组'数据排序'使用显示的所有分区的Jquery