首页 > 解决方案 > 给定一个露营地数组,一种视图类型为字符串,派对人数为数字,返回一个包含匹配站点的露营地编号的数组

问题描述

我现在进入 Javascript 几天了。如果我忘记了什么,我需要你的帮助。提前致谢。

这些是说明:

编写一个函数 findMyCampsites。给定一个露营地数组,一种视图类型为字符串,派对人数为数字,返回一个数组,其中包含匹配露营地的露营地编号。

当前可用的露营地(isReserved === false),具有与输入字符串匹配的视图(例如海洋或森林),可以容纳输入数字的派对大小或更大,

如果没有可用的站点,则返回字符串“抱歉,没有具有该视图的露营地可用于举办您的聚会”

function findMyCampsites(campgrounds, string, number) {
  for(let i = 0; i < campgrounds.length; i++) {
    if(
    campgrounds[i].isReserved === false &&
    campgrounds[i].view === string &&
    campgrounds[i].partySize === number
    ) {
      return campgrounds[i].number;
    } else {
      return "Sorry, no campsites with that view are available to host your party";
    }
  }
}

标签: javascript

解决方案


此代码将完全按照您的要求执行:

function findMyCampsites(campgrounds, string, number) {
  const campsites = [];
  for(let i = 0; i < campgrounds.length; i++) {
    if(
    campgrounds[i].isReserved === false &&
    campgrounds[i].view === string &&
    campgrounds[i].partySize >= number
    ) {
      campsites.push(campgrounds[i].number);
    }
  }
  if (campsites.length === 0) {
    return "Sorry, no campsites with that view are available to host your party";
  } else {
    return campsites;
  }
}

但是,我想强调几件事,首先,您希望使函数参数更具描述性。即不是调用第二个参数string,而是调用它siteType,而不是第三个参数number,尝试类似requiredSpaces. 另外,这个函数返回一个字符串(如果没有找到站点)和一个数组(如果找到站点)有点奇怪。通常你通常希望函数只返回一个类型,但如果这是简报要求你做的,那就这样吧。在您的编码职业发展过程中,您需要考虑几件事。


推荐阅读