JavaScript:使用变量(参数)作为属性

JavaScript:使用变量(参数)作为属性,javascript,function,loops,recursion,Javascript,Function,Loops,Recursion,我正在做一个函数,通过数据计算食物的数量 const countFood = (foodType) => { let foodNeeded = 0; if (animal.food.type === foodType) { foodNeeded += +animal.food.amount; }; const food = foodType; if (foodNeeded > (pavilion.food[food] - 1)) return tru

我正在做一个函数,通过数据计算食物的数量

const countFood = (foodType) => {
  let foodNeeded = 0;

  if (animal.food.type === foodType) {
    foodNeeded += +animal.food.amount;
  };

  const food = foodType;

  if (foodNeeded > (pavilion.food[food] - 1)) return true;

  countFood(foodType);
}

countFood('meat');
这是for循环中的一段代码


我需要使用这个参数来请求它,就像
pavilion.food.meat

您可以使用

例如:

const pavillon={
食物:{
肉类:3
}
}
功能getFood(foodType){
const food=pavillon.food[foodType]
控制台日志(食物)
归还食物
}

获取食物(“肉”)您可以使用访问对象属性

例如:

const pavillon={
食物:{
肉类:3
}
}
功能getFood(foodType){
const food=pavillon.food[foodType]
控制台日志(食物)
归还食物
}
获取食物(“肉”)如果您有:

{
  pavilion: {
    food: {
      meat: {...}
    }
  }
}
然后可以使用
pavilion.food['meat']
引用内部对象

一般来说,
pavilion.food[foodType]
如果您有:

{
  pavilion: {
    food: {
      meat: {...}
    }
  }
}
然后可以使用
pavilion.food['meat']
引用内部对象


更一般地说,
pavilion.food[foodType]

没有得到正确的答案。
foodType
pavilion.food.meat
有什么关系?这意味着什么这回答了你的问题吗?只需删除
->
就行了。写的时候没有问题,因为代码应该可以工作。除了原始的
之外,你还有其他问题吗?我需要使用你自己意外回答的这个参数
问题吗?它可以工作。谢谢大家!没有正确地理解它。呵呵w是与pavilion.food.meat相关的
foodType
?这是什么意思
(pavilion.food->[食品]这是否回答了您的问题?只需删除
->
就可以了。如前所述,没有问题,因为代码应该可以正常工作。除了原始的
之外,您还有其他问题吗?我需要使用您意外回答的这个参数
问题?它可以正常工作。感谢大家!