js陣列和字串去重複幾種方法

2022-02-21 19:08:03 字數 1692 閱讀 4821

js陣列去重複幾種方法

第一種:也是最笨的吧。

array.prototype.unique1 = function ()

}r[r.length] = this[i];

}return r;

}第二種:這個正則天書一樣。

array.prototype.unique2 = function ()

第三種:使用物件的【hasownproperty】方法

array.prototype.unique3 = function() , len = this.length;

for(var i=0; i < len; i++)

}len = 0;

var temparr=;

for(var i in temp)

return temparr;

}第四種:先排序,前項比後項。這個方法挺簡單的,但也實用

array.prototype.unique4 = function ()

temp[temp.length]=this[i];

}return temp;

}下面是以前經常用的,效率也很好。有點想hash表的感覺。

array.prototype.unique5 = function() ;

for(var i=0, elem; (elem = this[i]) != null; i++)

}return res;

}還能有種更簡單明瞭的寫法:

/*應用了集合的思想,有序不重複*/

function removeduplicates(arr) , r = ;

for (var i in arr)

temp[arr[i]] = true;

for (var k in temp)

r.push(k);

return r;

}看起來挺好容易的吧

經過自己驗證過了,**如下:

1

function

removeduplicates(arr) , r =;45

for (var i in

arr)

67 temp[arr[i]] = true;8

9for (var k in

temp)

1011

r.push(k);

1213

return

r;1415}

1617

//用法

1819

2021

var uniquefruits =removeduplicates(fruits);

22 alert(uniquefruits);

字串去重方法:

採用正則

/*** 字串去重

* \r\n字串分隔符

* $1分割後的字串,$2字串的索引

* 以分隔符將字串分割,根據分割後的陣列元素的個數進行迴圈比較

*/function strunique());

alert(ret);

return ret;

}

1

function

strunique());

7alert(ret);

8return

ret;9}

1011 strunique();

js 字串擷取的幾種方法

擷取字串的使用是比較廣泛的,在js的學習中整理了幾個方法 1.split 方法 定義和用法 split 方法用於把乙個字串分割成字串陣列 stringobject.split separator howmany 引數 separator 描述 必須,從該引數指定地方開始分割字串物件 引數 howma...

js 陣列去重的幾種方法

問題 隨機10個不相同的數 數值範圍11 25之間的 並且存放到陣列中 函式 隨機生成乙個從min到max的數 function randfn min,max 方法1 遍歷已存入的數和當前隨機的數比較,引入開關判斷是否存放 var arr for var i 0 i 10 i if flag con...

js陣列去重的幾種方法

js陣列去重的幾種常見方法 哎,面試的時候好多時候要做題,這也是常見題目,讓寫乙個陣列去重方法,我網上找了一些,存下來供自己學習,畢竟也不是科班出身 一 簡單的去重方法 最簡單陣列去重法 新建一新陣列,遍歷傳入陣列,值不在新陣列就push進該新陣列中 ie8以下不支援陣列的indexof方法 fun...