Angular 5 - конвертировать просто массив внутри FirebaseListObservable - PullRequest
0 голосов
/ 27 сентября 2018

Я пытаюсь обработать только один элемент из моего FirebaseListObservable с именем fichas, преобразуя его из массива в строку, но он не оказывает никакого влияния на snapshot.

constructor(private db: AngularFireDatabase) {

  fichas: FirebaseListObservable<Fichas[]>;

  this.fichas.subscribe((snapshots) => {
        snapshots.forEach(snapshot => {
          snapshot.combustivel.join(" "); //==> this changes nothing!
          this.data.push(snapshot);                  
        });
      })
  console.log(this.data);
}

Fichas.ts (класс):

export class Fichas {
    $key                  : string;
    ativo                 : boolean;
    fabricante            : string;
    nome                  : string;
    ano_fabr              : string;
    ano_model             : string;
    tipo_motor            : string;
    outro_tipo_motor      : string;
    ciclo_motor           : string;
    combustivel           : string[];
    ...
}

В настоящее время на консоли отображается combustivel: (2) ["Gasolina", "Etanol"], но мне нужно что-то вроде combustivel: "Gasolina Etanol".

Другие элементы не могут быть изменены, только этот.

1 Ответ

0 голосов
/ 28 сентября 2018

.join не изменяет массив, к которому был присоединен, а возвращает строку.Итак, просто измените объект на месте и нажмите на него:

snapshot.combistivel = snapshot.combustivel.join(" ");
this.data.push(snapshot);   

обновите свое определение соответствующим образом:

export class Fichas {
...
combustivel           : string[] || string;
...

}

...