¿Cómo eliminar elementos duplicados de JavaScript Array?

Hay varios métodos para eliminar duplicados en la array. Discutiremos las cuatro formas más comunes.

Use el método filter() : El método filter() crea una nueva array de elementos que pasan la condición que proporcionamos. Incluirá solo aquellos elementos para los que se devuelva verdadero. Podemos eliminar valores duplicados de la array simplemente ajustando nuestra condición.

Javascript

<script>
    var arr = ["apple", "mango", "apple",
            "orange", "mango", "mango"];
 
    function removeDuplicates(arr) {
        return arr.filter((item,
            index) => arr.indexOf(item) === index);
    }
 
    console.log(removeDuplicates(arr));
</script>

Producción:

["apple", "mango", "orange"]

Uso de un método Set() : este método establece un nuevo tipo de objeto con ES6 (ES2015) que le permite crear colecciones de valores únicos.

Javascript

<script>
    var arr = ["apple", "mango", "apple",
            "orange", "mango", "mango"];
 
    function removeDuplicates(arr) {
        return [...new Set(arr)];
    }
 
    console.log(removeDuplicates(arr));
</script>

Producción:

["apple", "mango", "orange"]

Usando el método forEach() : Al usar el método forEach(), podemos iterar sobre los elementos en la array, e introduciremos la nueva array si no existe en la array.

Javascript

<script>
    var arr = ["apple", "mango",
        "apple", "orange", "mango", "mango"];
 
    function removeDuplicates(arr) {
        var unique = [];
        arr.forEach(element => {
            if (!unique.includes(element)) {
                unique.push(element);
            }
        });
        return unique;
    }
 
    console.log(removeDuplicates(arr));
</script>

Producción:

["apple", "mango", "orange"]

Usando el método reduce() : El método reduce() se usa para reducir los elementos de la array y combinarlos en una array final basada en alguna función reductora que pase.

Javascript

<script>
    var arr = ["apple", "mango",
        "apple", "orange", "mango", "mango"];
 
    function removeDuplicates(arr) {
        var unique = arr.reduce(function (acc, curr) {
            if (!acc.includes(curr))
                acc.push(curr);
            return acc;
        }, []);
        return unique;
    }
 
    console.log(removeDuplicates(arr));
</script>

Producción:

["apple", "mango", "orange"]

Usando el método indexOf() : El método indexOf() se usa para encontrar el primer índice de aparición de un elemento de array. podemos iterar sobre los elementos de la array, e introduciremos la nueva array si no existe en la array resultante. 

Javascript

<script>
    var arr = ["apple", "mango",
        "apple", "orange", "mango", "mango"];
 
    function removeDuplicates(arr) {
        var unique = [];
        for(i=0; i < arr.length; i++){ 
            if(unique.indexOf(arr[i]) === -1) { 
                unique.push(arr[i]); 
            } 
        }
        return unique;
    }
 
    console.log(removeDuplicates(arr));
</script>

Publicación traducida automáticamente

Artículo escrito por rohit_iiitl y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *