前端原生js將後端數據行轉列

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;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章