freeCodeCamp/guide/chinese/certifications/javascript-algorithms-and-d.../basic-javascript/stand-in-line/index.md

3.7 KiB
Raw Blame History

title localeTitle
Stand in Line 站在队中

:triangular_flag_on_post:如果卡住,请记得使用**Read-Search-Ask** 。尝试配对程序:busts_in_silhouette:并编写自己的代码:pencil:

:checkered_flag:问题说明:

在计算机科学中, _队列_是一种抽象的数据结构 ,其中项目按顺序保存。可以在队列的后面添加新项目,并从队列的前面取出旧项目。

编写一个函数nextInLine ,它接受一个数组( arr )和一个数字( item )作为参数。将数字添加到数组的末尾,然后删除数组的第一个元素。然后, nextInLine函数应返回已删除的元素。

  • 更改下面的代码//Your Code here ,最多//Change this line
  • 确保您正在编辑nextInLine函数的内部。
  • 使用您学习的数组函数将项目添加到数组arr的末尾。
  • 使用您学习的数组函数从数组arr中删除第一个元素。
  • 返回删除的元素。

相关链接

:speech_balloon:提示1

push()方法将一个项添加到数组的末尾。

现在尝试解决问题

:speech_balloon:提示2

shift()方法删除数组的第一个元素。它还返回删除的元素。

现在尝试解决问题

:speech_balloon:提示3

函数nextInLine使用arritem 。这些是测试将用于传递他们将测试的数组元素的内容。它允许该功能可重复使用。不要硬编码函数内的任何测试。

现在尝试解决问题

扰流警报!

警告牌

提前解决!

:beginner:基本代码解决方案

function nextInLine(arr, item) { 
  // Your code here 
  arr.push(item); 
  var removed = arr.shift(); 
  return removed;  // Change this line 
 } 

代码说明:

  • arr的末尾按下项目
  • arr上调用shift()方法以获取第一个项目并将其存储在已删除的项目中。
  • 返回删除

示例运行

  • 测试nextInLine([2,1]);运行。
  • 调用nextInLine函数。 arr成为[2]。 项目变为1。
  • arr.push(item);按1到[2]。所以arr现在是[2,1]。
  • var removed = arr.shift();删除第一个元素。所以arr现在是[1]。 2已被删除并存储在已删除
  • return removed;返回2。

注意 :您实际上并不需要删除变量。删除的元素可以使用return arr.shift();直接return arr.shift();