【发布时间】:2021-01-21 21:36:18
【问题描述】:
我正在练习函数并编写此代码以在 inStock 小于每周平均值时打印一个布尔值。该代码为此目的而工作。问题是,如果数组未定义,我需要它返回 false。就目前而言,它无法读取未定义的“库存值”。如果有人能指出我正确的方向,我将不胜感激。
let altInventory = [{
candy: "Twizzlers",
inStock: 180,
weeklyAverage: 200
},
{
candy: "Milk Duds",
inStock: 300,
weeklyAverage: 170
},
]
// ===================================================
function findCandy(inv, cand) {
for (let i = 0; i < inv.length; i++) {
if (inv[i].candy === cand) {
return inv[i];
}
}
}
function shouldWeOrderThisCandy(inv, cand) {
let object = findCandy(inv, cand);
if (object.inStock < object.weeklyAverage) {
return true;
}
return false;
}
我试过加入这个,但它似乎没有效果。
if (object.length === 0);
return false
//shouldWeOrderThisCandy(altInventory, "Milk Duds")
//shouldWeOrderThisCandy(altInventory, "Twizzlers")
shouldWeOrderThisCandy(altInventory, "Broccoli")
【问题讨论】:
-
用语言标记。有许多不同的语言有不同的规则。还需要一些时间来修复缩进并显示实际代码,而不是浮动的“我包含了这个”。
-
请注意,如果
findCandy没有找到糖果,它不会返回任何内容,结果是undefined— 不是空对象/数组。 -
啊,完美。我现在明白了。谢谢大家!
标签: javascript arrays function boolean