¿Cómo encontrar el índice de todas las ocurrencias de elementos en una array usando JavaScript?

Dada una array que contiene elementos de array y la tarea es encontrar todas las ocurrencias de un elemento de la array. Vamos a hacer eso con la ayuda de JavaScript.

Enfoque 1: declarar una array vacía que almacena los índices de todas las ocurrencias del elemento de la array. Visite los elementos de la array uno por uno usando el ciclo while y si los elementos de la array coinciden con el elemento dado, inserte el índice del elemento en una array. Después de visitar cada elemento de la array, devuelva la array de índices.

Ejemplo: Este ejemplo implementa el enfoque anterior.

<!DOCTYPE HTML> 
<html> 
  
<head> 
    <title> 
        How to find the index of all occurrences
        of element in an array using JavaScript?
    </title>
</head> 
  
<body style = "text-align:center;"> 
      
    <h1 style = "color:green;" > 
        GeeksForGeeks 
    </h1>
      
    <p id = "GFG_UP" style =
        "font-size: 15px; font-weight: bold;">
    </p>
      
    <button onclick = "GFG_Fun()">
        Click Here
    </button>
      
    <p id = "GFG_DOWN" style =
        "color:green; font-size: 20px; font-weight: bold;">
    </p>
      
    <script>
        var up = document.getElementById('GFG_UP'); 
        var down = document.getElementById('GFG_DOWN'); 
          
        var arr = [
            'GFG', 'Geeks', 'Portal', 
            'Computer Science', 'GFG', 
            'GFG', 'Geek'
        ];
          
        var elm = 'GFG';
          
        up.innerHTML = "Click on the button to find "
                    + "the position of element in "
                    + "array.<br><br>Array = [" 
                    + arr + "]<br>" + "Element - '"
                    + elm + "'";
          
        function getInd(arr, val) {
            var index = [], i = -1;
            while ((i = arr.indexOf(val, i+1)) != -1){
                index.push(i);
            }
            return index;
        }
      
        function GFG_Fun() {
            down.innerHTML = getInd(arr, elm);
        } 
    </script> 
</body> 
  
</html>

Producción:

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

Enfoque 2: Visite los elementos de la array uno por uno usando el método reduce() y si los elementos de la array coinciden con el elemento dado, inserte el índice en la array. Después de visitar cada elemento de la array, devuelva la array de índices.

Ejemplo: este ejemplo utiliza el método reduce() para encontrar el índice de todas las ocurrencias de elementos en una array.

<!DOCTYPE HTML> 
<html> 
  
<head> 
    <title> 
        How to find the index of all occurrences
        of element in an array using JavaScript?
    </title>
</head> 
  
<body style = "text-align:center;"> 
      
    <h1 style = "color:green;" > 
        GeeksForGeeks 
    </h1>
      
    <p id = "GFG_UP" style = 
        "font-size: 15px; font-weight: bold;">
    </p>
      
    <button onclick = "GFG_Fun()">
        Click Here
    </button>
      
    <p id = "GFG_DOWN" style = 
        "color:green; font-size: 20px; font-weight: bold;">
    </p>
      
    <script>
        var up = document.getElementById('GFG_UP'); 
        var down = document.getElementById('GFG_DOWN'); 
          
        var arr = [
            'GFG', 'Geeks', 'Portal',
            'Computer Science', 'GFG',
            'GFG', 'Geek'
        ];
          
        var elm = 'GFG';
          
        up.innerHTML = "Click on the button to "
                + "find the position of element"
                + " in array.<br><br>Array = [" 
                + arr + "]<br>" + "Element - '"
                + elm + "'";
          
        function GFG_Fun() {
            down.innerHTML = 
                arr.reduce(function(ind, el, i) {
                    if (el === 'GFG')
                        ind.push(i);
                    return ind;
                }, []); 
        } 
    </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 *