Как зациклить внутри тд в угловой 2 - PullRequest
0 голосов
/ 11 июня 2018

Привет У меня есть структура данных, как показано ниже:

{

"status": {
    "code": null,
    "message": null,
    "status": 200,
    "parameters": null
},
"response": {
    "id": 63,
    "years": [{
        "year": 2018
    }, {
        "year": 2017
    }],
    "createdBy": "System",
    "createdOn": 1528448882000,
    "modifiedBy": "System",
    "modifiedOn": 1528448882000,
    "uploaded": [{
            "id": 97,
            "createdBy": "System",
            "createdOn": 1528448883000,
            "modifiedBy": "System",
            "modifiedOn": 1528448883000,
            "year": 2017,
            "fileName": "file2.pdf"
        {
            "id": 97,
            "createdBy": "System",
            "createdOn": 1528448883000,
            "modifiedBy": "System",
            "modifiedOn": 1528448883000,
            "year": 2017,
            "fileName": null,
        },
        {
            "id": 97,
            "createdBy": "System",
            "createdOn": 1528448883000,
            "modifiedBy": "System",
            "modifiedOn": 1528448883000,
            "year": 2018,
            "fileName": file4.pdf,
        }
    ],
    "uploadedFromTS": [{
        "id": 97,
        "createdBy": "System",
        "createdOn": 1528448883000,
        "modifiedBy": "System",
        "modifiedOn": 1528448883000,
        "year": 2017,
        "fileName": "file1.pdf",
    }, {
        "id": 97,
        "createdBy": "System",
        "createdOn": 1528448883000,
        "modifiedBy": "System",
        "modifiedOn": 1528448883000,
        "year": 2017,
        "fileName": "file3.pdf",
    }]
}

}

И я строил таблицу на основе данных, как показано ниже:

------------------------------------
category -  filename - created by
------------------------------------
2017        file1.pdf     Sasi
            file2.pdf     sambhu
            file3.pdf     Madhavan
------------------------------------
2018        file4.pdf 
             -
             -
------------------------------------

И вот мой угловой код

this._svc.getUploadedfiles(parseInt(this.id)).then((data: any) => {
                    if (data.response) {
                        if (data.response.uploadedFiles) {
                            if (data.response.uploadedFromTS.length > 0) {
                                this.tableList = data.response.uploadedFiles.concat(data.response.uploadedFromTS);
    }
    ...

Как я могу сгруппировать свои данные таким образом, чтобы я мог отобразить их, как показано в таблице.В настоящее время я просто слепо показываю все записи.поэтому год дублировался в моей первой колонке.Как я могу сгруппировать их, чтобы добиться этого, ребята?Заранее спасибо

1 Ответ

0 голосов
/ 11 июня 2018

Вы можете внести некоторые изменения в свои необработанные данные.

Вы можете изменить свои данные, группируя их (по годам).

Что-то вроде этого:

например, это ваши данные

let test =  [{
            "id": 97,
            "createdBy": "System",
            "createdOn": 1528448883000,
            "modifiedBy": "System",
            "modifiedOn": 1528448883000,
            "year": 2017,
            "fileName": "file2.pdf"},
        {
            "id": 97,
            "createdBy": "System",
            "createdOn": 1528448883000,
            "modifiedBy": "System",
            "modifiedOn": 1528448883000,
            "year": 2017,
            "fileName": null,
        },
        {
            "id": 97,
            "createdBy": "System",
            "createdOn": 1528448883000,
            "modifiedBy": "System",
            "modifiedOn": 1528448883000,
            "year": 2018,
            "fileName": "xwe",
        }
    ]

, вы можете сгруппировать их по годам:

   let result = test.reduce(function (r, a) {
            r[a.year] = r[a.year] || [];
            r[a.year].push(a);
            return r;
        }, Object.create(null));

, и вы получите результат вашегонужно!

enter image description here

...