values unir concatenate combinar arreglos array another arrays typescript angular

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.



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