У меня есть требование, когда я получаю ответ от службы, и в ответе у меня есть массив, который мне нужно проанализировать, чтобы получить определенные результаты:
// Это жестко закодированный массив, который у меня есть:
let staticArray = [
{"pid":165, 'value': 'value165'},
{"pid":166, 'value': 'value166'},
{"pid":167, 'value': 'value167'},
{"pid":168, 'value': 'value168'},
{"pid":169, 'value': 'value169'},
{"pid":170, 'value': 'value170'}
]
// Это ответ от сервера, это объект, содержащий массив данных, который мне нужно проанализировать, чтобы получить желаемые результаты:
let responseFromServer =
{
"data": [
{"userData":[], "docs":[{ "pid": 165, "url":"someurl1"},
{ "pid": 167, "url":"someurl1"},
{ "pid": 168, "url":"someurl1"},
{ "pid": 165, "url":"someurl2"},
{ "pid": 167, "url":"someurl2"},
{ "pid": 168, "url":"someurl2"},
{ "pid": 168, "url":"someurl3"},
{ "pid": 165, "url":"someurl3"},
{ "pid": 165, "url":"someurl4"},
{ "pid": 167, "url":"someurl3"}]},
{"userData":[], "docs":[{ "pid": 166, "url":"someurl1"},
{ "pid": 166, "url":"someurl2"},
{ "pid": 169, "url":"someurl1"},
{ "pid": 169, "url":"someurl2"},
{ "pid": 169, "url":"someurl3"}]},
{"userData":[], "docs":[{ "pid": 165, "url":"someurl1"}]}
]
}
В файле шаблона:
<div *ngFor="let data of responseFromServer">
<div *ngFor='let response of data.docs'>
response ------
value165
someurl1
count = 4
value167
someurl1
count = 3
value168
someurl1
count = 3
response ----------
value166
someurl1
count = 2
value169
someurl1
count = 3
response ----------
value165
someurl1
count = 1
</div>
</div>
Требуемый вывод в шаблоне:
responseArr[0] ------
value165
someurl1
count = 4
value167
someurl1
count = 3
value168
someurl1
count = 3
responseArr[1] ----------
value166
someurl1
count = 2
value169
someurl1
count = 3
responseArr[2] ----------
value165
someurl1
count = 1
Можно ли получить желаемые результаты, когда я могу '• фильтровать данные в ts-файле и делать это в html-файле шаблона.
Может кто-нибудь предложить угловую трубу, которую я могу использовать?
Пожалуйста, дайте мне знать, если мой вопрос неопределенный.
Спасибо!