Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript代码学校“闭包”任务中的打印问题_Javascript_Arrays_String Formatting - Fatal编程技术网

JavaScript代码学校“闭包”任务中的打印问题

JavaScript代码学校“闭包”任务中的打印问题,javascript,arrays,string-formatting,Javascript,Arrays,String Formatting,新的堆栈溢出和过帐。刚开始接触JavaScript,我就陷入了代码学校关闭的问题。问题是: 现在,针对特定障碍物的警报已有效计数,开发人员需要您存储报告的障碍物位置,以便每个障碍物的危险区域列表可以与他们正在远程控制激光束鲨鱼上工作的每个新警告一起报告,并且时间紧迫 在警告生成器中使用闭包,找到一种方法将每个新位置存储在称为区域的数组中,然后在针对特定障碍发出的每个警告中报告当前危险区域的完整列表。您的新警报消息应如下所示: 当心!今天海湾里有障碍物!在该位置发现的障碍物数量!这是今天的障碍物危

新的堆栈溢出和过帐。刚开始接触JavaScript,我就陷入了代码学校关闭的问题。问题是:

现在,针对特定障碍物的警报已有效计数,开发人员需要您存储报告的障碍物位置,以便每个障碍物的危险区域列表可以与他们正在远程控制激光束鲨鱼上工作的每个新警告一起报告,并且时间紧迫

在警告生成器中使用闭包,找到一种方法将每个新位置存储在称为区域的数组中,然后在针对特定障碍发出的每个警告中报告当前危险区域的完整列表。您的新警报消息应如下所示:

当心!今天海湾里有障碍物!在该位置发现的障碍物数量!这是今天的障碍物危险警报计数。 目前的危险区域包括: 1区 2区 3区

我很难在新行上打印区域。我的代码不起作用:

function warningMaker( obstacle ){
  var count = 0;
  var zones = [];
  return function ( number, location ) {
    count++;
    zones.push(location + "/n");
    alert("Beware! There have been "+obstacle+" sightings in the Cove today!\n" +
          number+" "+obstacle+"(s) spotted at the "+location+"!\n" +
          "This is Alert #"+count+" today for "+obstacle+" danger.\n" +
          "Current danger zones are:\n" +
          zones);
  };
}
任何帮助都会很好

可以使用数组类的join方法

alert("Beware! There have been "+obstacle+" sightings in the Cove today!\n" +
      number+" "+obstacle+"(s) spotted at the "+location+"!\n" +
      "This is Alert #"+count+" today for "+obstacle+" danger.\n" +
      "Current danger zones are:\n" +
      zones.join('\n'));
如果需要换行符,则应为反斜杠。请重试

zones.push(location + "\n");
如果您将一个参数传递给location,那么前面的修复就足够了。要在行中显示所有位置,您只需在警报中使用将它们连接起来即可。。。节,而不仅仅是分区


您似乎在打印方面有问题,而不是在闭包方面。@Bergi在本例中您是正确的。作为一个JS和编程新手,我仍然很难理解闭包。在继续前进之前,需要多读一点,并练习一下。
zones.push(location + "\n");
zones.join('\n');