Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/435.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 返回函数中的order对象_Javascript_Arrays_Function_Loops - Fatal编程技术网

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
}```