Tengo el siguiente código en el que trato de agregar algunos objetos a la matriz con dos objetos existentes a través de una función, pero siempre devuelve indefinido y no sé cómo resolverlo.
let compte = { iban: "ES79 2100 0813 6101 2345 6789", saldo_inicial: 15000, operacions: [{ quantitat: 1200, concepte: 'X', data_operacio: new Date(Date.now()), }, { quantitat: -100, concepte: 'X', data_operacio: new Date(Date.now()), }], afegir_operacio: function(quantitat, concepte, data_operacio) { compte.operacions.push({ quantitat: quantitat, concepte: concepte, data_operacio: data_operacio }); console.log(compte.operacions); } } compte.afegir_operacio({ quantitat: -100, concepte: "Factura", data_operacio: "3-10-2021" }); compte.afegir_operacio({ quantitat: -50, concepte: "Compra" });No está undefined porque los datos que está tratando de agregar no son los que está pasando a la función. Echa un vistazo a las correcciones. Cuando no pasa un valor para una propiedad dada, obtendrá undefined para esa propiedad a menos que defina un valor default :
let compte = { iban: "ES79 2100 0813 6101 2345 6789", saldo_inicial : 15000, operacions: [{ quantitat: 1200, concepte: 'X', data_operacio: new Date(Date.now()), }, { quantitat: -100, concepte: 'X', data_operacio: new Date(Date.now()), }], afegir_operacio: function ({quantitat, concepte, data_operacio = "default_value"}) { this.operacions.push({quantitat: quantitat, concepte: concepte, data_operacio: data_operacio}); console.log(this.operacions); } } compte.afegir_operacio({ quantitat: -100 , concepte: "Factura", data_operacio: "3-10-2021" }); compte.afegir_operacio({ quantitat: -50, concepte: "Compra" });