繁体   English   中英

返回 function Javascript 中的值

[英]Return a value in function Javascript

我正在尝试检查“candyName”是否等于库存的糖果,然后将糖果的“inStock”与其“weeklyAverage”进行比较,然后根据“inStock”大于或小于“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 orderCandy(stock, average) {
  if (stock < average) {
    return true;
  }
  else {
    return false;
  }
}

function checkCandy(candy, inputCandy) {
  if (candy === inputCandy) {
    let inStock = candy.inStock;
    let weeklyAverage = candy.weeklyAverage;
    return orderCandy(inStock, weeklyAverage);
  }
}

function shouldWeOrderThisCandy (inventory, candyName) {
  let order;
  for (let i = 0; i < inventory.length; i++) {
    let selectedCandy =  inventory[i];
    return checkCandy(selectedCandy.name, candyName);
  }
}

shouldWeOrderThisCandy (inventory, "Milk Duds");

这是您期望的代码,您的 if 测试在错误的位置

 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 orderCandy(stock, average) {
  if (stock < average) {
    return true;
  }
  else {
    return false;
  }
}

function checkCandy(candy, inputCandy) {
    let inStock = candy.inStock;
    let weeklyAverage = candy.weeklyAverage;
    return orderCandy(inStock, weeklyAverage);
}

function shouldWeOrderThisCandy (inventory, candyName) {
  let order;
  for (let i = 0; i < inventory.length; i++) {
    let selectedCandy =  inventory[i];
    if (selectedCandy.candy==candyName) {
    return checkCandy(selectedCandy, candyName);
    }
  }
}

shouldWeOrderThisCandy (inventory, "Milk Duds");

如果它按您的计划工作,请接受答案,因为我认为您无法投票

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM