Eliminar els duplicats d’un array en JavaScript

  1. Fes servir Set per eliminar els duplicats en JavaScript amb la sintaxi de ECMAScript 6 spread
  2. Utilitzeu Array.filter() per eliminar els duplicats de de l’array de JavaScript
  3. Utilitza hashtable per eliminar el duplicat d’un array primitiu en JavaScript
  4. Utilitzeu la funció _.uniq() de les llibreries underscore i LoDash 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í .

Article relacionat – estigui habilitat Array

  • Com comparar dues matrius en JavaScript
  • estigui habilitat Declarar Array Buit
  • Deixa un comentari

    L'adreça electrònica no es publicarà. Els camps necessaris estan marcats amb *