Как сохранить определенные значения из ответа сервиса на массив в Angular 6? - PullRequest
0 голосов
/ 12 октября 2018

У меня есть вызов веб-службы, который возвращает массив значений.Я хочу сохранить некоторые значения из ответа в массив.

Component.ts

     this.data.post_data('get/data',this.dataObj,true)
     .subscribe((data:any) => { 
         this.response= data.data;

      });

Ответ веб-службы

    0: {id: 785533, name: "UK ", avg: 0.6154,…}
    1: {id: 785533, name: "Usd ", avg: 0.698,…}
    2: {id: 785533, name: "ff ", avg: 50.61598,…}
    3: {id: 785533, name: "yy ", avg: 80.61198,…}
    4: {id: 785533, name: "nn ", avg: 10.618,…}
    5: {id: 785533, name: "mh ", avg: 0.6154898,…}
    6: {id: 785533, name: "tr ", avg: 70.615482198,…}
    7: {id: 785533, name: "es ", avg: 0.61548,…}

Мне нужно сохранить только «имя» и'avg' значения в массив.

Ответы [ 3 ]

0 голосов
/ 12 октября 2018

Если у вас есть ответ от службы, вы можете использовать его по своему усмотрению.Если вы хотите создать новый массив только со значениями name и avg, вы можете сделать это разными способами.Вы можете просто выполнить итерацию по массиву ответов и назначить только новые свойства новому объекту целевого массива.

0 голосов
/ 12 октября 2018
    this.response = [];

    this.data.post_data('get/data',this.dataObj,true)
     .pipe(map(result => { return { "name": result.name, "avg": result.avg } } ))
     .subscribe((data:any) => { 
         this.response.push(data);
      });
0 голосов
/ 12 октября 2018

Вы можете использовать метод map для создания нового массива с выбранными полями:

let result = this.response.map(x => { 
  return { name: x.name, avg: x.avg };
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...