Javascript 返回函数中的order对象
所以我对如何操作这个函数感到困惑。我的代码是这样的Javascript 返回函数中的order对象,javascript,arrays,function,loops,Javascript,Arrays,Function,Loops,所以我对如何操作这个函数感到困惑。我的代码是这样的 let inventory = [ { candy: "Twizzlers", inStock: 180, weeklyAverage: 200 }, { candy: "Sour Patch Kids", inStock: 90, weeklyAverage: 100 }, { candy: "Milk Duds", inStock: 300, weeklyAverage
let inventory = [
{ candy: "Twizzlers", inStock: 180, weeklyAverage: 200 },
{ candy: "Sour Patch Kids", inStock: 90, weeklyAverage: 100 },
{ candy: "Milk Duds", inStock: 300, weeklyAverage: 170 },
{ candy: "Now and Laters", inStock: 150, weeklyAverage: 40 }
];
function allCandyOrders (inventory){
let candyOrder = {}
for (let i=0; i<inventory.length; i++){
if (inventory[i].inStock > inventory[i].weeklyAverage){
candyOrder.push(0)
}
if (inventory[i].inStock < inventory[i].weeklyAverage){
candyOrder.push(inventory[i].candy + inventory[i].weeklyAverage*2)
}
}
return candyOrder
}
我正试图让代码返回
"Twizzlers": 400,
"Sour Patch Kids": 200,
"Milk Duds": 0,
"Now and Laters": 0
}```
一个问题是candyOrder.push(0)没有意义,因为push只在数组上定义,而candyOrder不是数组。您能否澄清函数应该做什么?
if(inventory[i].candy===candy)
左边的candy
的示例值是什么?您需要在函数外部定义candy
值,或者将一个candy值作为第二个参数传递到函数中,以便它可以根据该candy参数过滤数据。您将遇到的另一个错误是candyOrder。push不是函数,因此您需要确保candyOrder
是一个数组,可以在其上使用push方法。
"Twizzlers": 400,
"Sour Patch Kids": 200,
"Milk Duds": 0,
"Now and Laters": 0
}```