对象方法中的参数未定义



我似乎不能在我的对象中为我的函数添加参数。我的对象需要从我的函数接收外部信息,但它告诉我参数是未定义的。

这是对象

const data = {
labels: GenerateAllQuantities(QuantityPerOrder)
}

函数为:

function GenerateAllQuantities(QuantityPerOrder) {
var TotalQuantityPerAmmount = [QuantityPerOrder];
var AmmountsOfOrder = QuantityPerOrder / 8;
for(var i = 1; i < 8; i++) {
let OrderQuantity = TotalQuantityPerAmmount[0] - AmmountsOfOrder;
TotalQuantityPerAmmount.unshift(OrderQuantity)
}
return TotalQuantityPerAmmount;
}

当我直接写:

const data = {
labels: GenerateAllQuantities(80)

我直接得到了答案,问题是参数。

不妨试试:

const data = {
labels: GenerateAllQuantities
}

然后,当您想要使用它时(在本例中,参数为60),您将通过执行以下操作来调用该函数:

let myFunctionReturn = data.labels(60)

如果你总是希望你的参数是80,那么让你的对象的labels键指向一个被调用的函数,80被一个未被调用的匿名指针函数包装:

const data = {
labels: () => GenerateAllQuantitiest(80)
}

这将确保当您的标签函数运行时,它以参数80运行。

运行"always 80"函数的版本,执行以下操作:

let myFunctionReturn = data.labels()

在你的代码中当你有

const data = {
labels: GenerateAllQuantitiest(80)
}

函数立即运行,然后data.labels不再是一个函数,而是变成了你的函数的返回值。