data.technologies es una matriz y me gustaría obtener el resultado de esa matriz.
Así es como se ve la salida de data.technologies :
this.profileService.getEntities().subscribe(data => { for (const technology of data.technologies) { console.log(technology); } }); El tipo de getEntities() es Observable<IprofileData> .
export interface IprofileData { technologies: object; }TypeScript me da el error:
TS2488: el tipo 'objeto' debe tener un método 'Symbol.iterator' que devuelva un iterador.
¿Qué estoy haciendo mal?
Para futuros googleadores:
Este es también el mensaje de error devuelto si olvida objetivar las entradas de su función.
Ejemplo:
setCurrRowData(...currRowData, sort_order: num);Arreglar:
setCurrRowData( { ...currRowData, sort_order: num } ); // ^ ^La estructura de tiempo de ejecución es correcta, es una matriz, pero el tipo dice (de su comentario) que es solo un objeto. El objeto no tiene protocolo iterador, la matriz sí.
Tipo de ejemplo que debería satisfacer la necesidad:
type Data { ...// some other props technologies: string[] // change string into any type you have there }¿ data.technologies es una función (usted mencionó que "devolvió" una matriz)? Si es así, simplemente necesita llamarlo así:
this.profileService.getEntities().subscribe(data => { for (const technology of data.technologies()) { console.log(technology); } });