有什么办法可以通过使用指针来缩短这段代码吗? 我需要创建一个与给定数组类 unshift、shift、push 和 pop 具有基本相同功能但名称不同的类。
var makeDeque = function()
{
var a= [], r=new Array(a);
length = r.length=0;
pushHead=function(v)
{
r.unshift(v);
}
popHead=function()
{
return r.shift();
}
pushTail=function(v)
{
r.push(v);
}
popTail=function()
{
return r.pop();
}
isEmpty=function()
{
return r.length===0;
}
return this;
};
(function() {
var dq = makeDeque();
dq.pushTail(4);
dq.pushHead(3);
dq.pushHead(2);
dq.pushHead("one");
dq.pushTail("five");
print("length " + dq.length + "last item: " + dq.popTail());
while (!dq.isEmpty())
print(dq.popHead());
})();
输出应该是
长度5最后一项:五 一 2 3 4
谢谢!
最佳答案
也许我过于简单化了,但为什么不直接将所需的额外方法添加到数组原型(prototype)中并直接调用它呢?
关于javascript - javascript中的指针和数组类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18544265/