将对象添加到数组的函数 returns 未定义

Function to add object to array returns Undefined

我有以下代码,我尝试通过一个函数将一些对象添加到具有两个现有对象的数组中,但它总是 returns 未定义,我不知道如何解决它。

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"
});

你得到 undefined 因为你试图添加的数据不是你传递给函数的数据。看看更正。当您不为给定的 属性 传递值时,您将获得 属性 的 undefined,除非您定义 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" });