Array.rotateは配列の要素をローテーションするメソッドです。Array.rotateメソッドはprototype.js v1.4.0を前提としています。
配列の先頭から要素を1つ取り出し、その要素を配列の末尾に追加します。このとき、取り出した先頭の要素を返却します。なお、配列が空のときはundefinedを返却します。
Object.extend(Array.prototype, { rotate: function() { var v; if (this.length > 0) this.push(v = this.shift()); return v; } });
Array.rotateの使用例です。
var foo = [30, 20, 50, 30, 10, 10, 40, 50]; alert(foo.rotate()); //=> 30 alert(foo); //=> [20, 50, 30, 10, 10, 40, 50, 30] var bar = ['/tmp', '/home', '/etc', '/tmp']; alert(bar.rotate()); //=> '/tmp' alert(bar); //=> ['/home', '/etc', '/tmp', '/tmp']
配列のインデックスを意識せず、直感的に1ステップでローテーションできますね。「Googleマップ上のレジャースポットを自動クルーズする」のように配列の内容にしたがって繰り返し処理するようなケースできっと役に立ちます。