[英]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.