js裡的sort()對json資料(某一欄位)進行排序,超實用!!!
阿新 • • 發佈:2018-11-01
首先來看一下接口裡的資料,對哪一資料進行操作
{ "hourList": [{ "DATA_DATE": "00", "USE_SUM": 9.58 }, { "DATA_DATE": "03", "USE_SUM": 23.18 }, { "DATA_DATE": "04", "USE_SUM": 6.16 }, { "DATA_DATE": "05", "USE_SUM": 6.36 }, { "DATA_DATE": "06", "USE_SUM": 6.56 }, { "DATA_DATE": "07", "USE_SUM": 7.9 }, { "DATA_DATE": "08", "USE_SUM": 10.83 }, { "DATA_DATE": "09", "USE_SUM": 12.56 }, { "DATA_DATE": "10", "USE_SUM": 12.88 }, { "DATA_DATE": "01", "USE_SUM": "0" }, { "DATA_DATE": "02", "USE_SUM": "0" }, { "DATA_DATE": "11", "USE_SUM": "0" }, { "DATA_DATE": "12", "USE_SUM": "0" }, { "DATA_DATE": "13", "USE_SUM": "0" }, { "DATA_DATE": "14", "USE_SUM": "0" }, { "DATA_DATE": "15", "USE_SUM": "0" }, { "DATA_DATE": "16", "USE_SUM": "0" }, { "DATA_DATE": "17", "USE_SUM": "0" }, { "DATA_DATE": "18", "USE_SUM": "0" }, { "DATA_DATE": "19", "USE_SUM": "0" }, { "DATA_DATE": "20", "USE_SUM": "0" }, { "DATA_DATE": "21", "USE_SUM": "0" }, { "DATA_DATE": "22", "USE_SUM": "0" }, { "DATA_DATE": "23", "USE_SUM": "0" }] }
其中DATA_DATE欄位中欄位不按照順序排序,我們要做的就是根據這個欄位進行排序。
首先要把方法寫出來,方法要寫在Ajax前邊,x、y後邊是欄位名稱
//按照升序排列
function up(x,y){
return x.DATA_DATE-y.DATA_DATE
}
在Ajax的成功方法裡邊寫要排序的陣列
//直接到你需要的地方用這個方法即可
data.hourList.sort(up);
//列印排序後的資料到控制檯
//console.log(data.hourList);
sort()是在原資料基礎上進行排序,不會生成第二個陣列