目前,我正在使用以下内容对响应对象中的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);
});
}
答案 0 :(得分:1)
通过提供比较每个元素的response
属性的比较函数,对原始TypeCode
数组进行排序。
response.sort(function(a, b) {
return a.TypeCode - b.TypeCode
});
$.each(response, function(i, dict) {
console.log(dict.TypeCode);
});
答案 1 :(得分:1)
我认为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);
});