JavaScript | Obtener el índice de un objeto por su propiedad.

La tarea es obtener el índice del objeto de la array de objetos del nombre de propiedad dado y el valor de propiedad usando javascript. vamos a discutir algunas técnicas.
Primeros métodos para saber.

  • Método JavaScript Array map() :
    este método crea una nueva array con el valor de retorno de llamar a una función para cada elemento de la array.
    Este método llama a la función provista una vez para cada elemento en una array, manteniendo el orden.

    Sintaxis:

    array.map(function(currentValue, index, arr), thisValue)
    

    Parámetros:

    • function(currentValue, index, arr): este parámetro es obligatorio. Especifica una función que se ejecutará para cada elemento de la array.
      • currentValue: Este parámetro es obligatorio. Especifica el valor del elemento actual.
      • índice: Este parámetro es opcional. Especifica el índice de array del elemento actual.
      • arr: este parámetro es opcional. Especifica el objeto de array al que pertenece el elemento actual.
    • este valor: este parámetro es opcional. especifica un valor que se pasará a la función para que se use como su valor «este».
      Si este parámetro está vacío, se pasará el valor «indefinido».

    Ejemplo 1: este ejemplo busca el nombre del atributo y su valor en la array y, si lo obtiene, devuelve el índice de un objeto; de lo contrario, devuelve -1.

    <!DOCTYPE HTML>
    <html>
      
    <head>
        <title>
            JavaScript | Get index of object by its property.
        </title>
    </head>
      
    <body style="text-align:center;" id="body">
        <h1 style="color:green;">  
                GeeksForGeeks  
            </h1>
        <p id="GFG_UP" style="font-size: 19px; 
                  font-weight: bold;">
        </p>
        <button onClick="GFG_Fun()">
            click here
        </button>
        <p id="GFG_DOWN" style="color: green;
                  font-size: 24px;
                  font-weight: bold;">
        </p>
        <script>
            var up = document.getElementById('GFG_UP');
            var arrayObj = [{
                prop_1: 'val',
                prop_2: 'val_12',
                prop_3: 'val_13'
            }, {
                prop_1: 'val',
                prop_2: 'val_22',
                prop_3: 'val_23'
            }];
            var down = document.getElementById('GFG_DOWN');
            up.innerHTML = JSON.stringify(arrayObj);
      
            function fun_2(array, attr, value) {
                for (var i = 0; i < array.length; i += 1) {
                    if (array[i][attr] === value) {
                        return i;
                    }
                }
                return -1;
            }
      
            function GFG_Fun() {
                var prop = 'prop_2';
                var val = 'val_22';
      
                down.innerHTML = "Index of prop = '" +
                    prop + "' val = '" + val +
                    "' is = " + fun_2(arrayObj, prop, val);
            }
        </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 utiliza el método JavaScript Array map() para obtener el índice del objeto con la propiedad dada.

    <!DOCTYPE HTML>
    <html>
      
    <head>
        <title>
            JavaScript 
          | Get index of object by its property.
        </title>
    </head>
      
    <body style="text-align:center;" 
          id="body">
        <h1 style="color:green;">  
                GeeksForGeeks  
            </h1>
        <p id="GFG_UP" 
           style="font-size: 19px;
                  font-weight: bold;">
        </p>
        <button onClick="GFG_Fun()">
            click here
        </button>
        <p id="GFG_DOWN" 
           style="color: green;
                  font-size: 24px; 
                  font-weight: bold;">
        </p>
        <script>
            var up = document.getElementById('GFG_UP');
            var arrayObj = [{
                prop_1: 'val',
                prop_2: 'val_12',
                prop_3: 'val_13'
            }, {
                prop_1: 'val',
                prop_2: 'val_22',
                prop_3: 'val_23'
            }];
            var down = document.getElementById('GFG_DOWN');
            up.innerHTML = JSON.stringify(arrayObj);
      
            function GFG_Fun() {
                var prop = 'prop_2';
                var val = 'val_22';
                down.innerHTML = "Index of prop = 
                '" + prop + "' val = '" + val + 
                "' is = " + arrayObj.map(function(e) {
                    return e.prop_2;
                }).indexOf(val);
            }
        </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 *