js正則匹配去重

2021-08-13 23:46:21 字數 514 閱讀 9831

一般去重是通過遍歷陣列然後判斷下標的方法去重,可以實現類似abacryutr這種字串去重。

var str = "335667";

console.log(str.replace(/(.)(\1)+/g,'$2')); //3567

上面的方法僅僅適用於兩個重複的元素是緊挨在一起的。類似於這樣就不適用了(353676)。

所以為了去重,可以先將陣列進行排序。

var

array = ['s','y','f','e','r','o','y','s','g','n','f','d','r'];

function

ss(a,b)else

}array.sort(ss);

var rr = array.tostring().replace(/,/g,'');

console.log(rr.replace(/(.)(\1)+/g,'$2')); //defgnorsy

JS陣列去重,物件去重

例項1根據indexof去重,indexof的好處就是返回的是首次出現的位置,這樣後面即使出現的值一樣,也只能返回第一次出現的索引,當然這個只適用於簡單的陣列 物件陣列去重 const objarr const obj const newobjarr for let i 0 i objarr.len...

js 陣列去重

function unique arr if isrepeated return result 建立乙個新的陣列,迴圈原有的陣列,每取乙個數就迴圈判斷新建的陣列中是否有和這個相等的值,沒有則插入。方法簡單,但是有雙重迴圈,陣列大了之後效率低。所以能一次迴圈解決最好。var str new array...

JS 陣列去重

我總共想出了三種演算法來實現這個目的 array.prototype.unique1 function return n array.prototype.unique2 function r n為hash表,r為臨時陣列 for var i 0 i this.length i 遍歷當前陣列 retu...