Не могу добавить объекты в массив Angular - PullRequest
0 голосов
/ 21 ноября 2018

У меня есть Java-сервис, который извлекает таблицу из базы данных Oracle, и я хочу отобразить результат в приложении Angular, также у меня есть массив объектов в Angular:

resultSet:Info[]=[];

service:

 pastHourInfo() {
        const url='/SearchApp-1.0/users/transaction';
        return this.http.get(url).pipe(map((data:any)=>data));
    }

это моя подписка на услугу:

checkPasHourInfo() {
        this.searchService.pastHourInfo().subscribe(data => {
            console.log("we got: ",data);
            this.resultSet.push(data);
            console.log(this.resultSet.length);
        },
        error => {
          console.log("Error",error);

    },);

Проблема в следующем.Результат - 77 строк.console.log("we got: ",data) дает правильный результат. Вы можете увидеть это здесь

, но console.log(this.resultSet.length); печатает "1", когда должно быть 77.

В чем проблема?

Ответы [ 3 ]

0 голосов
/ 21 ноября 2018

Из вашего скриншота кажется, что вы нажимаете array в свой результат array, вы можете распространить свои данные в массив следующим образом:

this.resultSet.push(...data);
0 голосов
/ 21 ноября 2018

Вы можете добавить массив в другой массив, как показано ниже:

this.resultSet.concat(data)
0 голосов
/ 21 ноября 2018

Вы помещаете массив в массив.Итак, ваш массив выглядит следующим образом:

resultSet[].length = 1;
resultSet[0].length = 77;

Вместо того, чтобы делать:

this.resultSet.push(data);

, попробуйте это:

this.resultSet.concat(data);

Ссылка: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/concat

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...