- Use
Set
para eliminar duplicados en JavaScript con ecmascript 6 sintaxe - Use
Array.filter()
para eliminar duplicados da matriz JavaScript - usando
hashtable
Para eliminar o duplicado dunha matriz primitiva en JavaScript - Use a función
_.uniq()
das bibliotecasunderscore
epara eliminar duplicados a partir de arranxos en JavaScript
Este tutorial explicará como podemos eliminar duplicados dunha matriz en JavaScript usando diferentes métodos. Un dos métodos é pasar a matriz de destino ao constructor de clase Set
para devolver unha matriz equivalente non manipular. Outra forma é usar o método filter()
da matriz JavaScript e aplicar a condición de proba na súa función de retorno.
Estados Unidos SET para eliminar duplicados en JavaScript con O ECMAScript 6 Syntax Spread
En matemáticas, o conxunto contén un grupo de elementos únicos e non duplicados. En JavaScript, a clase Set
pode obter todos aqueles elementos non duplicados dun conxunto.
con ECMAScript 6, podemos usar a potencia da sintaxe de transmisión usando a Clase Set
para obter un novo conxunto non duplicado dos que enviamos ao constructor Set()
.
var arr = var uniqueArr = console.log(uniqueArr)
resultado:
Usar array.filter () Para eliminar duplicados da matriz de JavaScript
da matriz de JavaScript introduciu unha das funcións de orde superior chamadas filtro()
, que fai que os bucles en cada elemento da matriz, aplica unha condición de proba nel e só devolve ese elemento se cumpre coa condición. Esta condición de proba implementarase dentro da función de devolución de devolución, pasada como argumento ao método filter()
.
Podemos eliminar os duplicados da matriz establecendo a condición Proba para comprobar se o índice do elemento de loop actual é a primeira aparición nesa matriz. A función filter()
vai levar o argumento extra pos
que representará o índice da matriz de elemento durante a execución.
var arrTwo=const filteredArray = arrTwo.filter(function(ele , pos){ return arrTwo.indexOf(ele) == pos;}) console.log("The filtered array ",filteredArray);
resultado:
The filtered array (3)
Se podemos usar a sintaxe de JavaScript Ecmascript 6 frechas, que eliminación do duplicado A operación implementa de forma mellor.
var arrTwo=;const filteredArray = arrTwo.filter( (ele,pos)=>arrTwo.indexOf(ele) == pos);console.log("The filtered array",filteredArray);
resultado:
The filtered array (3)
Usar Hashtable para eliminar duplicados a partir dunha matriz primitiva en JavaScript
Se temos unha matriz composta só por tipos primitivos como os números e queremos eliminar os duplicados de esa matriz
Podemos implementar a nosa función usando
hashtables
.
Construiremos un obxecto temporal chamado found
que incluirá todos os valores non duplicados. Dentro da función filtro
, a nosa condición devolverá false
se o elemento xa existe no obxecto found
; En caso contrario, imos engadir ese elemento ao obxecto found
co 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);
Resultado:
Original Array Filtered Array
Usar a función _.uniq () das bibliotecas de subliñado e Lodash para eliminar duplicados de arranxos en JavaScript
Se xa estamos a usar calquera dos métodos da biblioteca underscore
, podemos usar o método uniq()
, desde entón Devolve só a primeira aparición do elemento de matriz de entrada.
var arrFive = ;console.log("LoDash output", _.uniq(arrFive));
LoDash output
Podemos importar a biblioteca desde aquí.