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