DEVELOPMENTOR*LEARNING RESOURCE LAB.

ソフトウェア開発現場の視点からソフトウェアと開発者の価値を高める「ホットな何か」をお届けします。(休止)

Array.rotate 配列の要素をローテーションする

2006年11月07日 | prototype cast

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マップ上のレジャースポットを自動クルーズする」のように配列の内容にしたがって繰り返し処理するようなケースできっと役に立ちます。


最新の画像もっと見る