Eliminar duplicados un array con JavaScript
En el siguiente tutorial aprenderemos cómo eliminar elementos duplicados en un array.
Eliminar duplicados de un array de números
El siguiente método recibe un array de números y devuelve otro sin elementos duplicados utilizando el método indexOf
Para más información sobre la función indexOf puedes consultar Métodos de arrays en JavaScript
function removeDuplicates(arr) { let unique_array = [] for (let i = 0; i < arr.length; i++) { if (unique_array.indexOf(arr[i]) == -1) { unique_array.push(arr[i]) } } return unique_array }
Podemos hacerlo un poco más resumido usando el método filter. El resultado será el mismo
function removeDuplicates(arr){ var unicos = arr.filter((valor, indice) => { return arr.indexOf(valor) === indice; }) }
Eliminar duplicados de un array de objetos
El siguiente método recibe un array de objetos y el identificador por el cual comprobar los duplicados y devuelve otro array sin duplicados.
function removeDuplicatedObjects(arr, identificador) { var arraySinDuplicados = []; var temp = {}; for (var i in arr) { temp[arr[i][identificador]] = arr[i]; } for (i in temp) { arraySinDuplicados.push(temp[i]); } return arraySinDuplicados; }