- Utilizați
Set
Pentru a șterge duplicatele în JavaScript cu ECMAScript 6 sintaxăspread
- Utilizați
Array.filter()
Pentru a șterge duplicatele de la matricea JavaScript - utilizând
hashtable
Pentru a șterge duplicatul unei matrice primitive în JavaScript - Utilizați funcția
_.uniq()
de la biblioteciunderscore
șiLoDash
Pentru a șterge duplicatele din aranjamente în JavaScript
Acest tutorial va explica modul în care putem elimina duplicatele dintr-o matrice în JavaScript folosind diferite metode. Una dintre metode este de a trece matricea de destinație la constructorul de clasă Set
pentru a returna o matrice echivalentă neimpozită. O altă modalitate este de a utiliza metoda al matricei JavaScript și implementarea condiției de testare în funcția sa de returnare.
Statele Unite ale Americii setat pentru a elimina duplicatele în JavaScript cu EcMascript 6 Sintaxă Răspândită
În matematică, setul conține un grup de elemente unice și non-duplicate. În JavaScript, clasa poate obține toate elementele non-duplicate ale unui set.
cu EcMascript 6, putem folosi puterea sintaxei de difuzare folosind Clasa Set
Pentru a obține un nou set non-duplicat de acelea pe care le trimitem la constructorul Set()
.
var arr = var uniqueArr = console.log(uniqueArr)
rezultat:
Utilizați Array.Filter () Pentru a elimina duplicatele din matricea JavaScript
a matricei JavaScript a introdus una dintre funcțiile de ordine superioară numită filtro()
, ceea ce face ca buclele în fiecare element al matricei, aplică o condiție de testare pe acesta și doar returnează acest element dacă îndeplinește starea. Această condiție de testare va fi implementată în cadrul funcției de callback, a trecut ca argument pentru metoda filter()
.
Putem elimina duplicatele matricei prin setarea stării Testați pentru a verifica dacă indicele elementului de buclă curentă este primul apariție în acea matrice. Funcția filter()
va lua argumentul suplimentar pos
care va reprezenta indicele matricei elementului în timpul executării.
var arrTwo=const filteredArray = arrTwo.filter(function(ele , pos){ return arrTwo.indexOf(ele) == pos;}) console.log("The filtered array ",filteredArray);
rezultat:
The filtered array (3)
Dacă putem folosi sintaxa lui JavaScript ECMAScript 6 săgeți, care îndepărtează duplicatul Funcționarea este implementată într-un mod mai bun Pentru a elimina duplicatul dintr-o matrice primitivă în JavaScript
dacă avem o matrice compusă numai de tipuri primitive, cum ar fi numerele și dorim să eliminăm duplicatele lui Această matrice
putem implementa funcția noastră folosind iv id = „cb42bf0364”
.
Vom construi un obiect temporar numit found
care vor include toate valorile non-duplicate. În cadrul funcției filtro
, starea noastră va reveni false
dacă elementul există deja în obiectul found
; În caz contrar, vom adăuga acel articol la obiectul found
cu valoarea true
;
var arrThree = function filterArray(inputArr){ var found ={}; var out = inputArr.filter(function(element){ return found.hasOwnProperty(element)? false : (found=true); }); return out;}const outputArray = filterArray(arrThree);console.log("Original Array",arrThree);console.log("Filtered Array",outputArray);
rezultat:
Original Array Filtered Array
Utilizați funcția _.uniq () a bibliotecilor subliniere și Lodash pentru a elimina duplicatele aranjamentelor din JavaScript
Dacă folosim deja oricare dintre metodele bibliotecii underscore
, putem folosi metoda uniq()
, deoarece Returnează doar prima apariție a elementului de matrice de intrare.
var arrFive = ;console.log("LoDash output", _.uniq(arrFive));
LoDash output
Putem importa biblioteca de aici.