模擬后台返回的數據為:
var arr = [ {personName:"張三",id:1,age:12,gender:"male"}, {personName:"張三",id:1,age:12,gender:"male"}, {personName:"張三",id:1,age:12,gender:"male"}, {personName:"李四",id:1,age:12,gender:"male"}, {personName:"李四",id:1,age:12,gender:"male"}, {personName:"李四",id:1,age:12,gender:"male"}, {personName:"王五",id:1,age:12,gender:"male"}, {personName:"王五",id:1,age:12,gender:"male"}, {personName:"王五",id:1,age:12,gender:"male"} ]
對數據處理的方法為:(對personName來進行分類)
var nList = []; for (var i = 0; i < arr.length; i++) { if (nList.length == 0) { nList.push({ personName: arr[i].personName, data: [arr[i]] }) } else { var index = nList.findIndex(item => item.personName == arr[i].personName); if (index >= 0) { nList[index].data.push(arr[i]) } else { nList.push({ personName: arr[i].personName, data: [arr[i]] }) } } }
對數據處理后的結構為:
[ { "personName":"張三", "data":[ { "personName":"張三", "id":1, "age":12, "gender":"male" }, { "personName":"張三", "id":1, "age":12, "gender":"male" }, { "personName":"張三", "id":1, "age":12, "gender":"male" } ] }, { "personName":"李四", "data":[ { "personName":"李四", "id":1, "age":12, "gender":"male" }, { "personName":"李四", "id":1, "age":12, "gender":"male" }, { "personName":"李四", "id":1, "age":12, "gender":"male" } ] }, { "personName":"王五", "data":[ { "personName":"王五", "id":1, "age":12, "gender":"male" }, { "personName":"王五", "id":1, "age":12, "gender":"male" }, { "personName":"王五", "id":1, "age":12, "gender":"male" } ] } ]