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».
- function(currentValue, index, arr): este parámetro es obligatorio. Especifica una función que se ejecutará para cada elemento de la array.
- Antes de hacer clic en el botón:
- Después de hacer clic en el botón:
- Antes de hacer clic en el botón:
- Después de hacer clic en el botón:
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:
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:
Publicación traducida automáticamente
Artículo escrito por PranchalKatiyar y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA