Dieses Mal zeige ich Ihnen, wie Sie den Array-Deduplizierungsalgorithmus in JS implementieren. Was sind die Vorsichtsmaßnahmen für die Implementierung des Array-Deduplizierungsalgorithmus in JS?
Testfall:
arr = ["1",3,"1",1,4,5,1,"2",5,1,{"name ":"li","age":20},2,4,3,{"name":"li","age":20},"];
Methode 1: Mit Hilfe von temporärem Array und indexOf beträgt die Algorithmuskomplexität: O(n^2)
function unique1(arr){ var temp = []; for(var i=0; i<arr.length; i++){ if(temp.indexOf(arr[i]) == -1){ temp.push(arr[i]); } } return temp; }
Testergebnisse:
unique1(arr): ["1", 3, 1, 4, 5, "2", Object { name="li", age=20}, 2, Object { name="li", age=20} , ""]
Fehler kann Objekte nicht unterscheiden
Methode 2: Verwenden Sie das Objektobjekt in JavaScript, um ihn zu behandeln Griechische Tabelle
function unique2(arr){ var temp=[]; var hash={}; for(var i=0; i<arr.length;i++){ if(!hash[arr[i]]){ hash[arr[i]]=true; temp.push(arr[i]); } } return temp; }
Testergebnis:
unique2(arr): ["1", 3, 4, 5, "2", Object { name="li ", age=20}, ""]
Fehler: Unfähig, zu unterscheiden: 1 und "1"
Ändern
function unique2(arr){ var temp=[]; var hash={}; for(var i=0; i<arr.length;i++){ var item = arr[i]; var key = typeof(item)+item; if(!hash[key]){ hash[key]=true; temp.push(arr[i]); } } return temp; }
Testergebnis:
unique2(arr): ["1", 3, 1, 4, 5, "2", Object { name="li", age=20}, 2, ""]
Methode 3: Verwenden Sie zuerst sort, um das -Array zu sortieren, und verwenden Sie dann ein temporäres Array, um das letzte derselben Elemente zu speichern. Diese Methode kann nur für reine Zahlen verwendet werden Typ-Arrays
function unique3(arr){ arr.sort(function(a,b){ return a-b; }); var temp = []; for(var i=0;i<arr.length;i++){ if(arr[i] !== arr[i+1]){ temp.push(arr[i]); } } return temp; }
Ich glaube, dass Sie die Methode beherrschen, nachdem Sie den Fall in diesem Artikel gelesen haben. Weitere spannende Informationen finden Sie in anderen verwandten Artikeln auf der chinesischen PHP-Website!
Empfohlene Lektüre:
So verwenden Sie Vue+Better-Scroll, um eine alphabetische Indexnavigation zu implementieren
Das obige ist der detaillierte Inhalt vonSo implementieren Sie den Array-Deduplizierungsalgorithmus in JS. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!