配列の重複をチェックする。

JavaScript で配列にある値が含まれているか調べる - Reread
これをそのまま使わせてもらってた。
使い方はこう。

var ary = new Array( 1,5,10 );
alert( ary.contains(10) ); // true
alert( ary.contains(24) ); // false

ところが

Array.prototype.contains = function(value){
    for(var i in this){
        if( this.hasOwnProperty(i) && this[i] === value){
        return true;
        }
    }
    return false;
}

var ary = [1,5,[10]];
console.log(typeof 1,ary.contains(1))       //-> number true
console.log(typeof [5],ary.contains([5]))   //-> object false
console.log(typeof [10],ary.contains([10])) //-> object false

引数がobjectだと動かないので改造した。

Array.prototype.contains = function(value){
    for(var i in this){
        if( this.hasOwnProperty(i) && this[i].toString() === value.toString()){
        return true;
        }
    }
    return false;
}

var ary = [1,5,[10]];
console.log(typeof 1,ary.contains(1))      //-> number true
console.log(typeof [5],ary.contains([5]))  //-> object true
console.log(typeof [10],ary.contains([10]))//-> object true

そんだけ。
document.evaluateで拾ってきた値(オブジェクト)をそのまま配列につっこんで重複分をなくして次の処理をしたいときに気づいた。
こっちで使った。
twitter_followers_checkerというgreasemonkeyをつくった。