Javascript 循环值时对JSON数据进行排序

Javascript 循环值时对JSON数据进行排序,javascript,jquery,json,parsing,Javascript,Jquery,Json,Parsing,我使用jquery从本地JSON文件检索数据, 然后循环浏览结果 localjsonfile.json JQUERY代码 我的问题是,, 当用于var i=0时;i

我使用jquery从本地JSON文件检索数据, 然后循环浏览结果

localjsonfile.json

JQUERY代码

我的问题是,, 当用于var i=0时;i
Cheers

创建一个数组,插入到数组中,并在for循环后对数组进行排序:

var sqnMarksArr=[];
for (var i = 0; i < json.CGYacList.length; i++) {            
     sqnMarksArr.push(json.CGYacList[i].SqnMarks);
}
sqnMarks.sort();

这样就行了。如果你想按相反的顺序翻转-1:1

json.CGYacList.sort(function(a, b){
    return a.SqnMarks > b.SqnMarks? 1 : -1;
});
对于ASC订单:

json.CGYacList.sort(function(obj1,obj2){return   obj1.SqnMarks>obj2.SqnMarks});
对于DSC订单:

 json.CGYacList.sort(function(obj1,obj2){return obj1.SqnMarks<obj2.SqnMarks});

只需选择定制分拣机:

json.CGYacList.sort(function(a,b) {
  return a.SqnMarks - b.SqnMarks; //reverse it for DSC order
});

您可以使用javascript排序函数或任何其他Jquery排序插件

json.CGYacList.sort(function(a, b){
    return   a.SqnMarks>b.SqnMarks
}
下面是一个基于任意元素对数组进行排序的函数

var sort_by = function(field, reverse, primer){

   var key = primer ? 
       function(x) {return primer(x[field])} : 
       function(x) {return x[field]};

   reverse = !reverse ? 1 : -1;

   return function (a, b) {
       return a = key(a), b = key(b), reverse * ((a > b) - (b > a));
     } 
}
功劳归于


试试看,如果这对你有用,你不需要for循环,如果你只是在享受,谢谢Arvind
json.CGYacList.sort(function(a, b){
    return   a.SqnMarks>b.SqnMarks
}
var sort_by = function(field, reverse, primer){

   var key = primer ? 
       function(x) {return primer(x[field])} : 
       function(x) {return x[field]};

   reverse = !reverse ? 1 : -1;

   return function (a, b) {
       return a = key(a), b = key(b), reverse * ((a > b) - (b > a));
     } 
}