distinct
MethodArray.prototype.distinct = function() {
var ret = [];
for (var i = 0; i < this.length; i++) {
for (var j = i+1; j < this.length;) {
if (this[i] === this[j]) {
ret.push(this.splice(j, 1)[0]);
} else {
j++;
}
}
}
return ret;
}
uniq_slow
MethodArray.prototype.uniq_slow = function(){
var ret = [],
i = 0,
j = 0;
while (undefined !== this[i]){
j = i + 1;
while(undefined !== this[j]){
if (this[i] == this[j]){
ret.push(this.splice(j, 1)[0]);
} else {
++j;
}
}
++i;
}
return ret;
}
uniq
MethodArray.prototype.uniq = function(){
var resultArr = [],
returnArr = [],
i = 1,
origLen = this.length,
resultLen;
function include(arr, value){
for (var i=0, n=arr.length; i<n; ++i){
if (arr[i] === value){
return true;
}
}
return false;
}
resultArr.push(this[0]);
for (i; i<origLen; ++i){
if (include(resultArr, this[i])){
returnArr.push(this[i]);
} else {
resultArr.push(this[i]);
}
}
resultLen = resultArr.length;
this.length = resultLen;
for (i=0; i<resultLen; ++i){
this[i] = resultArr[i];
}
return returnArr;
}
Realazy XA Chen