这是我的代码:
var myArr = [1,2,3,4,5];
function queue(arr, item) {
return arr.push(item).shift();
}
Run Code Online (Sandbox Code Playgroud)
我正在尝试创建一个函数队列,它将"数组"和"项"作为参数.我需要
我的代码不起作用.你能帮我搞清楚吗?
只是不要链接方法调用:
function queue(arr, item) {
arr.push(item);
return arr.shift();
}
Run Code Online (Sandbox Code Playgroud)
或者,如果您想要一个声明,
function queue(arr, item) {
return arr.push(item), arr.shift();
}
Run Code Online (Sandbox Code Playgroud)
或者,如果你够疯狂,你可以继承Array并添加一个可链接的推送:
class MyArray extends Array {
chainablePush(item) {
this.push(item);
return this;
}
}
var myArr = new MyArray(1,2,3);
myArr.chainablePush(4).shift(); // 1
myArr; // MyArray [2,3,4];
Run Code Online (Sandbox Code Playgroud)
因为arr.push返回数组的长度,所以你不能像那样链接移位
干脆就这么做
function queue(arr, item) {
arr.push(item);
return arr.shift();
}
Run Code Online (Sandbox Code Playgroud)