let param = "name";
let array = [
{id:"1",name:"test001",score:"99"},
{id:"1",name:"test001",score:"99.1"},
{id:"1",name:"test001",score:"99.2"},
{id:"2",name:"test002",score:"98"},
{id:"2",name:"test002",score:"98.1"},
{id:"3",name:"test003",score:"97"},
{id:"3",name:"test003",score:"97.1"}
];
let result = rowToColumn(array,param);
/**
* 后端返回一组数据,根据标识字段分类
* @param array 待转换的集合
* @param paramName 转换标志
* @returns 返回以paramName为key的json数组
*/
function rowToColumn (array,paramName){
let nameArray = [];
let newJSON = {};
for(let i=0;i<array.length;i++){
let item = array[i];
let itemArray = [];
if(nameArray.indexOf(item[paramName])==-1){
nameArray.push(item[paramName]);
itemArray.push(item);
newJSON[item[paramName]] = itemArray;
}else{
let last = newJSON[item[paramName]];
last.push(item);
newJSON[item[paramName]] = last;
}
}
return newJSON;
}