js陣列去重問題

2022-06-21 23:57:16 字數 2046 閱讀 3022

1. 雙層迴圈:外層迴圈,內層比較值;

(1)利用splice直接在原陣列進行操作

array.prototype.delrepeat = function ()

} }return arr;

};var a = [1,2,4,4,5,6,5,3,2,4,9,4,1,2,9,1,1];

console.log(a.delrepeat()); //[1, 2, 4, 5, 6, 3, 9]

2. 利用物件的屬性不能相同的特點進行去重 

array.prototype.delrepeat = function ();

var result = ;

for(i = 0; i< arr.length; i++)

} return result;

};var a = [1,2,4,4,5,6,5,3,2,4,9,4,1,2,9,1,1];

console.log(a.delrepeat()); //[1, 2, 4, 5, 6, 3, 9]

3. 利用es6的set

(1)利用array.from將set結構轉換成陣列

(2)拓展運算子(...)內部使用for...of迴圈

4.借助indexof()方法,判斷此元素在該陣列中首次出現的位置下標與迴圈的下標是否相等

(1)不借助新陣列,使用splice();

var ar = [1,2,4,4,5,6,5,3,2,4,9,4,1,2,9,1,1];

function delrepeat(arr)

}return arr;

}console.log( delrepeat(ar)); // [1, 2, 4, 5, 6, 3, 9]

(2)借助新陣列;

var ar = [1,2,4,4,5,6,5,3,2,4,9,4,1,2,9,1,1];

function delrepeat(arr)

} return result;

}console.log(delrepeat(ar)); // [1, 2, 4, 5, 6, 3, 9]

(3)借助新陣列  判斷新陣列中是否存在該元素如果不存在則將此元素新增到新陣列中

array.prototype.delrepeat = function()

}return newarr;

}var arr = [1,2,4,4,5,6,5,3,2,4,9,4,1,2,9,1,1];

console.log(arr.delrepeat()); // [1, 2, 4, 5, 6, 3, 9]

5. 利用陣列中的filter方法

JS中陣列去重問題

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

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...