This question already has answers here:
Sort array of objects by string property value
                            
                                (46个答案)
                            
                    
                5年前关闭。
        

    

目前,我正在使用以下内容对响应对象中的TypeCode(字符串)进行排序。

这似乎有点杀了。是否有一种更简单的方法来实现每个循环一个?

if (response && response.length > 0) {
    var sortedArray = [];
    $.each(response, function (i, dict) {
        sortedArray.push(dict.TypeCode);
    });
    sortedArray.sort();
    $.each(sortedArray, function (i, dict) {
        console.log(dict);
    });
}

最佳答案

我以为TypeCode是一个数字。您可以将compareFunction设置为sort

var sortedResponse = response.sort(function (d1, d2) {
    return d1.TypeCode - d2.TypeCode;
});


如果TypeCode是字符串,则:

var sortedResponse = response.sort(function (d1, d2) {
    var type1 = d1.TypeCode, type2 = d2.TypeCode;

    return type1 < type2? -1 : +(type1 > type2);
});

07-21 17:58