- Fes servir
Set
per eliminar els duplicats en JavaScript amb la sintaxi de ECMAScript 6spread
- Utilitzeu
Array.filter()
per eliminar els duplicats de de l’array de JavaScript - Utilitza
hashtable
per eliminar el duplicat d’un array primitiu en JavaScript - Utilitzeu la funció
_.uniq()
de les llibreriesunderscore
iLoDash
per eliminar els duplicats dels arranjaments en JavaScript
Aquest tutorial explicarà com podem eliminar els duplicats d’un array en JavaScript utilitzant diferents mètodes. Un dels mètodes és passar l’array de destinació a constructor de la classe Set
per tornar una matriu equivalent no duplicat. Una altra manera és fer servir el mètode filter()
de l’array de JavaScript i implementar la condició de prova en la seva funció de devolució.
Utilitza Set per eliminar els duplicats en JavaScript amb la sintaxi de ECMAScript 6 spread
En Matemàtiques, el conjunt conté un grup d’elements únics i no duplicats. En JavaScript, la classe Set
pot obtenir tots aquests elements no duplicats d’un conjunt.
Amb ECMAScript 6, podem utilitzar el poder de la sintaxi de difusió usant la classe Set
per obtenir un nou conjunt de no-duplicats dels que vam enviar a l’Set()
constructor.
var arr = var uniqueArr = console.log(uniqueArr)
Resultat:
Utilitzeu Array.filter () per eliminar els duplicats de de l’array de JavaScript
de l’array de JavaScript va introduir una de les funcions d’ordre superior anomenada filtro()
, que fa bucles en cada element de de l’array, aplica una condició de prova en ell, i només retorna aquest element si compleix la condició. Aquesta condició de prova s’implementarà dins de la funció de devolució de trucada, passada com un argument a mètode filter()
.
Podem eliminar els duplicats de l’array establint la condició de prova per comprovar si l’índex de l’element actual en bucle és la primera ocurrència en aquest array. La funció filter()
prendrà l’argument extra pos
que representarà l’índex de la matriu d’l’element durant l’execució.
var arrTwo=const filteredArray = arrTwo.filter(function(ele , pos){ return arrTwo.indexOf(ele) == pos;}) console.log("The filtered array ",filteredArray);
Resultat:
The filtered array (3)
Si podem usar la sintaxi de les fletxes de JavaScript ECMAScript 6, que l’eliminació de la operació de duplicat s’implementi d’una millor manera.
var arrTwo=;const filteredArray = arrTwo.filter( (ele,pos)=>arrTwo.indexOf(ele) == pos);console.log("The filtered array",filteredArray);
Resultat:
The filtered array (3)
Utilitza Hashtable per eliminar el duplicat d’un array primitiu en JavaScript
Si tenim una matriu composta només per tipus primitius com els números i volem eliminar els duplicats d’aquesta array
podem implementar la nostra funció
filterArray()
usant hashtables
.
construirem un objecte temporal anomenat found
que inclourà tots els valors no duplicats. Dins de la funció filtro
, la nostra condició retornarà false
si l’element ja existeix en l’objecte found
; en cas contrari, afegirem aquest element a l’objecte found
amb el valor 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);
Resultat:
Original Array Filtered Array
Utilitzeu la funció _.uniq () de les llibreries underscore i LoDash per eliminar els duplicats dels arranjaments en JavaScript
Si ja estem fent servir qualsevol dels mètodes de la biblioteca underscore
, podem usar el mètode uniq()
, ja que retorna només la primera ocurrència de l’element de de la matriu d’entrada.
var arrFive = ;console.log("LoDash output", _.uniq(arrFive));
LoDash output
podem importar la biblioteca des d’aquí .