JavaScriptにおける配列デ重量(任意のデータタイプ)について

2310 ワード

var arr=[false, true, undefined, null, NaN, 0, 1, {}, {}, 'a', 'a', NaN];
  arr.uniq();
        :[false, true, undefined, null, NaN, 0, 1, {}, {}, 'a']
なお、NaNとNaNは等しくない.
Array.prototype.uniq = function () {
    var f=false;
    for(var i=0;i<this.length;i++){
        if(this[i] !== this[i]){
            f=true;
        }
        for(var j=i+1;j<this.length;){
            if( this[i] === this[j] || (f && this[j] !== this[j]) ){
                this.splice(j,1);//arrayObject.splice(    ,  ,     )

            }
            else{
                j++;
            }
        }
    }
    return this;

}