2016-01-09 51 views
-7

编写一个函数队列,它将“数组”和“项目”作为参数。将该项添加到数组的末尾,然后删除数组的第一个元素。队列函数应该返回被删除的元素。 var myArr = [1,2,3,4,5];Javascript - 我的代码出了什么问题?

注意:我只添加了星号*之间的代码,这意味着只有星号代码需要更改。

function queue(arr, item) { 
    // Your code here 
    *arr.push(item); 
    arr.shift();* 

    return *(arr, item)*; // Change this line 
    } 

    // Display Code 
    console.log("Before: " + JSON.stringify(myArr)); 
    console.log(queue(myArr, 1)); // Modify this line to test 
    console.log("After: " + JSON.stringify(myArr)); 
+0

您还没有规定的问题是什么,或者你收到了什么错误消息。另外使用'*'不是一种聪明的方式来标记代码的一部分,因为这个符号在JavaScript(和其他类似C语言)中有意义 – UnholySheep

回答

0

JavaScript的作品与指针,所以传递数组作为paramater将编辑从那里它被称为该数组。

这应该做的工作:

function queue(arr, item) { 
    arr.push(item); 
    return arr.shift(); 
} 

var myArr = [1,2,3,4]; 
console.log("Before: " + JSON.stringify(myArr)); 
console.log(queue(myArr, 1)); // Modify this line to test 
console.log("After: " + JSON.stringify(myArr)); 
+0

谢谢,它不工作,但也许有一个错误 – Riza

+0

谢谢!它正在工作..它的平台有问题 – Riza

+0

太棒了!你可以upvote和标记我的答案被接受? – wmehanna

3

队列功能应该返回除去的元素。

这就是shift做,返回移位元素

function queue(arr, item) { 
    arr.push(item); 
    return arr.shift(); 
} 
+0

谢谢..它不工作...我不知道是否有一个bug – Riza

+0

似乎在这里工作得很好 - > https://jsfiddle.net/sarbvs47/ – adeneo

+0

我刷新了平台使用和它的工作!谢谢! – Riza

相关问题