Estoy trabajando en una aplicación angular. En mi archivo de componente .ts tengo una matriz de la siguiente manera:
public myArray = []; public dataFromAPI = [];En uno de mis métodos, cada vez que intento insertar un elemento en esta matriz, me da el siguiente error:
this.appService.getData.subscribe(resp => { if (resp != null) { this.dataFromAPI = resp; this.dataFromAPI.forEach(element => { this.myArray.push(element) }) } RROR TypeError: Cannot read properties of null (reading 'push')No veo ningún error en mi código. Siempre defino una nueva matriz como esta, pero la primera vez que recibo este error. ¿Cómo resolver esto?
la declaración debe ser como a continuación
public myArray:any = []; public dataFromAPI:any = [];debe hacer un bucle directo de la respuesta de la API como se muestra a continuación (verifique que dentro puede haber más claves dentro del objeto de respuesta, acceda a la matriz a través de la clave)
this.appService.getData.subscribe(resp => { if (resp != null) { resp.data.forEach(element => { this.myArray.push(element) }); this.dataFromAPI = resp; } }No estoy seguro de qué sintaxis public myArray = []; es. A continuación funcionará para mecanografiado.
const myArray: string[] = []; myArray.push('string'); const myArray: number[] = []; myArray.push(123); const myArray: Record<string, unknown>[] = []; myArray.push({key: 'value'});