Javascript 如何对包含两项的json进行排序
我有一个JSON,如下所示,我想用rowNo和columnNo对JSON数据进行排序 我该怎么做Javascript 如何对包含两项的json进行排序,javascript,json,Javascript,Json,我有一个JSON,如下所示,我想用rowNo和columnNo对JSON数据进行排序 我该怎么做 jsonArrayFull: { Dashboard: [{ "id": "three-col-layout-div1", "rowNo": "1", "columnNo": "0", "colspan": "1", "rowspan": "1", "title": "Harvester Prod
jsonArrayFull: {
Dashboard: [{
"id": "three-col-layout-div1",
"rowNo": "1",
"columnNo": "0",
"colspan": "1",
"rowspan": "1",
"title": "Harvester Productivity Analysis",
"dashlet": "MIS/MISViewer/HarvesterProductivityAnalysis",
"bgColor": "#854db0",
"width": "31.1216429699842%",
"height": "29.985007496251875%"
}, {
"id": "three-col-layout-div2",
"rowNo": "1",
"columnNo": "1",
"colspan": "1",
"rowspan": "1",
"title": "Expense Analysis",
"dashlet": "MIS/MISViewer/ExpenditureAnalysis",
"bgColor": "#83a143",
"width": "31.1216429699842%",
"height": "29.985007496251875%"
}, {
"id": "three-col-layout-div3",
"rowNo": "1",
"columnNo": "2",
"colspan": "1",
"rowspan": "1",
"title": "Labour Utilization",
"dashlet": "MIS/MISViewer/LabourUtilization",
"bgColor": "#a32a2a",
"width": "31.1216429699842%",
"height": "29.985007496251875%"
}]
}
我做了这个脚本,但它不起作用
for(var i=0;i<newDiv.length;i++) {
newDiv[i].dashlets.sort(function(obj1, obj2) {
return obj1.rowNo - obj2.rowNo;
});
}
for(var i=0;i您的JSON定义了Dashboard
属性,但您提供的代码可用于dashlet
试试这个:
for(var i = 0; i < newDiv.length; i++)
{
newDiv[i].Dashboard.sort(function(obj1, obj2) {
return obj1.rowNo - obj2.rowNo;
});
}
for(变量i=0;i
更新:
如果要按两个键对数组进行排序,请参考以下答案:
您应该在函数中添加一些逻辑,这不能一蹴而就。要使用两个键对对象数组进行排序,您可以这样做
Dashboard.sort(功能(o1,o2){
如果(o1.rowNo==o2.rowNo){
返回o1.columnNo-o2.columnNo
}
返回o1.rowNo-o2.rowNo
});
这一个先按rowNo排序,然后按columnNo排序。实际上……用一个项目排序是可行的……但我不能用两个项目来排序。#rowNo和#columnNo您想用两个键来排序吗?