1. 程式人生 > >js裡的sort()對json資料(某一欄位)進行排序,超實用!!!

js裡的sort()對json資料(某一欄位)進行排序,超實用!!!

首先來看一下接口裡的資料,對哪一資料進行操作

{
	"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()是在原資料基礎上進行排序,不會生成第二個陣列