javascript - 如何对AJAX请求返回的JSON格式数据进行排序?

标签 javascript jquery arrays ajax sorting

我有一个针对共享点 API 的 AJAX 请求。它返回一个文件数组。我正在获取这些结果数组并向 Select 元素添加一系列选项。我希望能够按 Name 属性按字母顺序对数组进行排序。我该怎么做呢?我当前的 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>');
});

关于javascript - 如何对AJAX请求返回的JSON格式数据进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33287199/

相关文章:

javascript - 简单的 Jquery POST 调用不起作用

java - 2D 数组游戏板...NullPointerException

javascript - 移动到人行横道时未迁移本地存储

javascript - jQuery 1.3.2 中的实时处理程序出现 "too much recursion"错误

javascript - Cordova |发送视频到手机

c - 在 C 中访问传递的结构数组的成员

javascript - 提前退出 forEach 中的函数?

javascript - 可滚动容器中的 Highcharts 工具提示随内容滚动

javascript - 如何在动态添加的内容上运行 jQuery?

jquery - marquee 在模拟器上工作,但在设备上不工作