DEVELOPMENTOR*LEARNING RESOURCE LAB.

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

Array.uniq 配列の重複した要素を取り除く

2006年10月17日 | prototype cast

Array.uniqは配列の重複した要素を取り除くメソッドです。Array.uniwメソッドはprototype.js v1.4.0を前提としています。

配列の中を走査しながら重複した要素を取り除き、その結果を新しい配列として返します。要素の重複はprototype.jsのEnumerable.includeを使って判断しています。

Object.extend(Array.prototype, {
  uniq: function() {
    return this.inject([], function(dest, value) {
      if (!dest.include(value))
        dest.push(value);
      return dest;
    });
  }
});

var foo = [30, 20, 50, 30, 10, 10, 40, 50];
alert(foo.uniq()); //=> [30, 20, 50, 10, 40]

var bar = ['/tmp', '/home', '/etc', '/tmp'];
alert(bar.uniq()); //=> ['/tmp', '/home', '/etc']

なおArray.uniqメソッドはprototype.js v1.5.0から追加されるようです。


最新の画像もっと見る