函数内的 for in 循环

时间:2021-06-15 01:40:05

标签: javascript

嗨,我遇到了这段 javascript 代码的问题。我想做一个函数,让我知道是否有一个不在篮子里的物品。

const amazonBasket = {
  glasses: 1,
  books: 2,
  floss: 100,
};

function checkBasket(basket, lookingFor) {
  for (item in basket) {
    if (item === lookingFor) {
      return `${lookingFor} is in your basket`;
    }
  }
  return `That is not in your basket`;

}

checkBasket(amazonBasket, camera);

1 个答案:

答案 0 :(得分:2)

您应该像这样调用函数 checkBasket(amazonBasket, "camera"); 而不是其中 amazonBasket 是一个对象,而相机是您要查找的键。

更好/更清洁的解决方案是

function checkBasket(basket, lookingFor) {
  return basket[lookingFor] ? `${lookingFor} is in your basket` : `That is not in your basket`;
}

// Invoking the right way
const amazonBasket = { glasses: 1,books: 2, floss: 100};
checkBasket(amazonBasket, "camera");