JSのArrayは#(?:un)?shiftが遅くてキューとして使いにくいため,自作すると良いらしい。 /// q.js /// // wrapper of native array function Qa(){ var q = []; q.enq = q.push; q.deq = q.shift; return q; } // relies on property-order-retention (wouldn't work on Rhino) function Qd(){ var q = {}, p = 0; this.enq = function(o){ return q[p++] = o }; this.deq = function(){ for(var k in q){ var o = q[k]; delete q[k]; return o; } }; } // based o