Javascript 给定数组,编写函数并返回布尔值

Javascript 给定数组,编写函数并返回布尔值,javascript,arrays,Javascript,Arrays,我需要编写一个函数,名为,shouldworderthiscandy(inventory,candy) 函数应该在数组中找到与传入的名称匹配的糖果。 找到糖果后,如果库存数量小于每周平均值,则返回true。 否则返回false 如果数组中没有该名称的糖果,则返回false 给定数组: let inventory = [ { candy: "Twizzlers", inStock: 180, weeklyAverage: 200 }, { candy: "So

我需要编写一个函数,名为,
shouldworderthiscandy(inventory,candy)

函数应该在数组中找到与传入的名称匹配的糖果。
找到糖果后,如果库存数量小于每周平均值,则返回
true

否则返回
false

如果数组中没有该名称的糖果,则返回
false

给定数组:

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 }
];
到目前为止我所拥有的(我是JS新手):

函数应为我们订购此糖果(库存,糖果){
for(设i=0;i
示例输出:

shouldWeOrderThisCandy(inventory, "Twizzlers"); //->  true

在您的代码中,找不到具有相同名称的
candy
inventory
项目

首先,您应该找到输入了
candy
名称的项目,并从该项目中获得结果

这可以通过使用

let inventory=[
{candy:“twizzler”,库存:180,每周平均:200},
{candy:“酸补丁儿童”,库存:90,每周平均:100},
{糖果:“牛奶袋”,库存:300,每周平均:170},
{candy:“现在和以后”,库存:150,每周平均:40}
];
函数shouldWeOrderThisCandy(库存、糖果){
const existed=inventory.find((item)=>item.candy==candy);
如果(存在和存在&existed.inStocklog(应该订购这个糖果(库存,“twizzler”)与Derek的答案类似,删除if条件,因为它不是必需的

const 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 shouldWeOrderThisCandy(inventory, candy) {
  const existed = inventory.find(item => item.candy === candy);
  return existed && existed.inStock < existed.weeklyAverage;
}

console.log(shouldWeOrderThisCandy(inventory, "Twizzlers"));
const inventory=[
{candy:“twizzler”,库存:180,每周平均:200},
{candy:“酸补丁儿童”,库存:90,每周平均:100},
{糖果:“牛奶袋”,库存:300,每周平均:170},
{candy:“现在和以后”,库存:150,每周平均:40}
];
函数shouldWeOrderThisCandy(库存、糖果){
const existed=inventory.find(item=>item.candy==candy);
返回已存在&existed.inStock
以下是使用OP方法的正确逻辑:

let inventory=[
{candy:“twizzler”,库存:180,每周平均:200},
{candy:“酸补丁儿童”,库存:90,每周平均:100},
{糖果:“牛奶袋”,库存:300,每周平均:170},
{candy:“现在和以后”,库存:150,每周平均:40}
];
函数shouldWeOrderThisCandy(库存、糖果){
//循环浏览库存
for(设i=0;i只需使用

let inventory=
[{糖果:'twizzler',库存:180,每周平均:200}
,{candy:“酸补丁儿童”,库存:90,每周平均:100}
,{糖果:“牛奶袋”,库存:300,每周平均:170}
,{candy:“现在和以后”,库存:150,每周平均:40}
] 
函数应订购此糖果(arr,糖果)
{
返回arr.some(x=>x.candy===candy&&x.inStock',shouldWeOrderThisCandy(库存,'Twizzlers'))//true
console.log('Milk Duds->',shouldWeOrderThisCandy(库存,'Milk Duds'))//false
console.log('xxx->',shouldWeOrderThisCandy(库存,'xxx'))//false
.as控制台包装{最大高度:100%!重要;顶部:0;}
供参考。这对我来说(经过几个小时的磨砺之后)对未来的Javascript初学者学生来说是有效的:

函数应为我们订购此糖果(库存,糖果){
for(设i=0;i}否则,如果(candy.length哇,这是一个很好的答案,超出了我的想象。谢谢你编辑我的问题并给我一个有效的解决方案!@alexwhitmore不客气,这只是一些练习,你也会得到的;)Derek,谢谢你找到了一个有效的解决方案!我不确定我遗漏了哪一部分,但我现在明白了。非常感谢你!很高兴知道这个条件甚至没有必要。这是一个非常棒和有效的工作答案。谢谢你!这正是我在寻找的,你的伪代码让我非常理解,我很感激。比k you Hao!!如果(条件==true)返回true,则执行类似于
的操作;否则返回false
返回条件
是enough@MisterJojo我认为这更容易理解,所以为了让初学者更好地阅读,我保留了详细的方式。但是,是的,你是对的。它可以是
返回库存[I]。inStock