以下是我針對網路上三種高效率方法總結與效率測試,如果大家有更好的意見或建議也可以提出,大家共勉學習。
數組去重法1:
1 2 3 4 5 6 7 8 9 10 11 12 13 | Array.prototype.unique1 = function (){
console.time( "数组去重法1" );
var arr = [];
var obj = {};
for ( var i = 0; i < this.length; i++){
if (!obj[this[i]]){
arr.push(this[i]);
obj[this[i]] = 1;
}
}
console.timeEnd( "数组去重法1" );
return arr;
}
|
登入後複製
數組去重法2:
1 2 3 4 5 6 7 8 9 10 11 | Array.prototype.unique2 = function (){
console.time( "数组去重法2" );
var arr = [];
for ( var i = 0; i < this.length; i++){
if (arr.indexOf(this[i]) == -1){
arr.push(this[i]);
}
}
console.timeEnd( "数组去重法2" );
return arr;
}
|
登入後複製
效率測試方法:
1 2 3 4 5 6 7 8 9 10 11 | Array.prototype.unique3 = function (){
console.time( "数组去重法3" );
var arr = [this[0]];
for ( var i = 1; i < this.length; i++) {
if (this.indexOf(this[i]) == i){
arr.push(this[i]);
}
}
console.timeEnd( "数组去重法3" );
return arr;
}
|
登入後複製
效率測試結果: