arrays - unir - typescript concatenate array
fusionar dos matrices de objetos con Angular 2 y TypeScript? (4)
Con angular 6 spread operador y concat no funcionan. Puedes resolverlo fácilmente:
result.push(...data);
He revisado las preguntas de JavaScript sobre este tema, esta pregunta es específicamente sobre Angular2 con TypeScript.
Lo que estoy tratando de hacer es concatenar los objetos json a una matriz.
Mi código se ve así,
public results: [];
public getResults(){
this._service.get_search_results(this._slug, this._next).subscribe(
data => {
this.results.concat(data.results);
this._next = data.next;
},
err => {
console.log(err);
}
);
}
¿Cómo puedo concatenar
data.results
a
this.results
con
this.results
y angular?
this._slug
y
this._next
se establecen en la clase.
Gracias.
Creo que deberías usar más bien lo siguiente:
data => {
this.results = this.results.concat(data.results);
this._next = data.next;
},
Del
doc
concat
:
El método concat () devuelve una nueva matriz compuesta de la matriz en la que se llama unida con la (s) matriz (s) y / o valor (es) proporcionados como argumentos.
El operador de propagación es algo genial.
this.results = [ ...this.results, ...data.results];
El operador de propagación le permite colocar fácilmente una versión expandida de una matriz en otra matriz.
También puede usar el formulario recomendado por ES6:
data => {
this.results = [
...this.results,
data.results,
];
this._next = data.next;
},
Esto funciona si inicializa su matriz primero (
public results = [];
);
de lo contrario, reemplace
...this.results,
por
...this.results ? this.results : [],
...this.results ? this.results : [],
Espero que esto ayude