JavaScript | Obtenga todos los valores no únicos de una array

Tenemos una array de Javascript y queremos encontrar todos los elementos no únicos de la array. Para obtener todos los valores no únicos de la array, aquí hay algunos ejemplos.

Método Array Slice()
Este método devuelve los elementos seleccionados en un nuevo objeto de array.
Este método obtiene los elementos a partir del argumento de inicio especificado y termina excluyendo el argumento final dado.
Sintaxis:

array.slice(start, end)

Parámetros:

  • Inicio: este parámetro es opcional. Especifica el número entero desde donde comenzar la selección (el índice comienza desde 0). Los números negativos se utilizan para seleccionar desde el final de la array. Si no se usa, actúa como “0”.
  • fin: Este parámetro es opcional. Especifica el entero de donde parte el final de la selección. Si no se usa, se seleccionarán todos los elementos desde el principio hasta el final de la array. Los números negativos se utilizan para seleccionar desde el final de la array.

Ejemplo-1: este ejemplo primero ordena la array y luego los selecciona uno por uno si no son únicos.

<!DOCTYPE html>
<html>
  
<head>
    <title>
        JavaScript 
      | Get all non-unique values.
    </title>
</head>
  
<body style="text-align:center;" id="body">
    <h1 style="color:green;">  
            GeeksForGeeks  
        </h1>
    <p id="GFG_UP" style="font-size: 16px;">
  
    </p>
    <button onclick="gfg_Run()">
        click here
    </button>
    <p id="GFG_DOWN" style="color:green; 
                            font-size: 20px; 
                            font-weight: bold;">
    </p>
    <script>
        var el_up = document.getElementById("GFG_UP");
        var el_down = document.getElementById("GFG_DOWN");
        var arr = [89, 89, 11, 2, 3, 4, 2, 4, 5, 7];
        var sort_arr = arr.slice().sort();
        var res = [];
        el_up.innerHTML = "Original Array = [" + arr + "]";;
  
        function gfg_Run() {
            for (var i = 0; i < sort_arr.length - 1; i++) {
                if (sort_arr[i + 1] == sort_arr[i]) {
                    res.push(sort_arr[i]);
                }
            }
            el_down.innerHTML = "Non-Unique values are = " + res;
        }
    </script>
</body>
  
</html>

Producción:

  • Antes de hacer clic en el botón:
  • Después de hacer clic en el botón:

Ejemplo-2: Este ejemplo crea un diccionario y luego almacena la frecuencia de cada elemento. Más tarde, si descubren que la frecuencia es superior a 1, se seleccionará el elemento.

<!DOCTYPE html>
<html>
  
<head>
    <title>
        JavaScript
      | Get all non-unique values.
    </title>
</head>
  
<body style="text-align:center;" id="body">
    <h1 style="color:green;">  
            GeeksForGeeks  
        </h1>
    <p id="GFG_UP" style="font-size: 16px;">
  
    </p>
    <button onclick="gfg_Run()">
        click here
    </button>
    <p id="GFG_DOWN" style="color:green; 
                            font-size: 20px; 
                            font-weight: bold;">
    </p>
    <script>
        var el_up = document.getElementById("GFG_UP");
        var el_down = document.getElementById("GFG_DOWN");
        var arr = [89, 89, 11, 2, 3, 4, 2, 4, 5, 7];
        el_up.innerHTML = "Original Array = [" + arr + "]";;
  
        function gfg_Run() {
            var len = arr.length,
                output = [],
                count = {};
  
            for (var i = 0; i < len; i++) {
                var item = arr[i];
                count[item] = count[item] >= 1 ? count[item] + 1 : 1;
                if (count[item] === 2) {
                    output.push(item);
                }
            }
            el_down.innerHTML = "Non-Unique values are = " + output;
        }
    </script>
</body>
  
</html>

Producción:

  • Antes de hacer clic en el botón:
  • Después de hacer clic en el botón:

Publicación traducida automáticamente

Artículo escrito por PranchalKatiyar 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 *