我正在尝试仅处理FirebaseListObservable中名为fichas
的一项,将其从Array转换为String,但对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"
的东西。
其他元素不能更改,仅此一个。
答案 0 :(得分:0)
.join不会更改连接的数组,而是返回一个字符串。因此,只需将对象更改到位并推入即可:
snapshot.combistivel = snapshot.combustivel.join(" ");
this.data.push(snapshot);
相应地更新您的定义:
export class Fichas {
...
combustivel : string[] || string;
...
}