Nuevo en mecanografiado, así que no estoy seguro de cómo asignar valores dentro de un bucle. Estoy ejecutando una función que hace algo de lógica que devuelve un número (nada especial). Esta función se llamará en otra función para devolver 2 valores, 1. es un número 2. es una cadena.
export class matrix { public pattern!: {[key: string]: number[]}; // function will be called in a loop in a different function public setPattern(data: number, category: string): void { // does some logic here and set row as a value const row = 10;// random value of course this.pattern[category].push(row);// not working of course } } //output should be like this { "some category": [10,55,4,53,1], "more rows": [1,2,8] }En la primera llamada, el patrón no está definido, no podrá agregar la clave a undefined this.pattern[catergory] .
export class matrix { public pattern: {[key: string]: number[]} = {}; public setPattern(data: number, catergory: string): void { const row = 10;// random value of course this.pattern[catergory].push(row);// not working of course } }Probablemente no funcione cuando la matriz no está inicializada
Agregue esto antes de empujar el nuevo elemento
if(this.pattern[category] == undefined) this.pattern[category] = []Y luego, después de inicializar la matriz, presione el nuevo elemento
this.pattern[category].push(row);También asegúrese de que el objeto de patrón esté inicializado
public pattern!: {[key: string]: number[]}; = {}