Función _.findIndex():
- Se utiliza para encontrar el índice de un elemento que se pasa en el segundo parámetro.
- Podemos usar esto para cualquier tipo de array, como array de números, array de strings, array de caracteres, etc.
- Si no sabemos qué elementos están presentes en la array pero queremos saber si un solo elemento está presente o no, entonces usamos esta función.
Sintaxis:
_.findIndex(array, predicate, [context])
Parámetros:
Toma tres argumentos:
- la array
- el predicado
- El contexto (opcional)
Valor devuelto:
Devuelve el índice en el que se encuentra el elemento a buscar.
Ejemplos:
- Pasar una lista de una sola clave y su valor a la función _.findIndex():
La función ._findIndex() toma el elemento de la lista uno por uno y lo compara con el elemento pasado como segundo parámetro. Si coinciden, devuelve su índice; de lo contrario, simplemente omite este elemento y continúa con el siguiente. Este proceso continúa hasta que no se encuentra la coincidencia o la lista finaliza. Si la lista termina sin encontrar el elemento pasado, el resultado es -1.<!-- Write HTML code here -->
<
html
>
<
head
>
<
script
src
=
</
script
>
</
head
>
<
body
>
<
script
type
=
"text/javascript"
>
console.log(_.findIndex([{rollNo:1}, {rollNo:2},
{rollNo:3}], { rollNo : 1}));
</
script
>
</
body
>
</
html
>
Producción:
- Pasar una estructura completa a la función _.findIndex():
Incluso podemos pasar una estructura con muchas propiedades a la función _.findIndex() y funcionará de la misma manera. Para esto también necesitamos mencionar qué propiedad necesita ser comparada. Como en el siguiente ejemplo, la array tiene 3 propiedades, is, name, last. De estos, hemos mencionado que queremos comparar y averiguar el índice del elemento con el primer nombre como ‘Teddy’.<!-- Write HTML code here -->
<
html
>
<
head
>
<
script
src
=
</
script
>
</
head
>
<
body
>
<
script
type
=
"text/javascript"
>
var users = [{'id': 1, 'name': 'Bobby', 'last': 'Stark'},
{'id': 2, 'name': 'Teddy', 'last': 'Lime'},
{'id': 3, 'name': 'Franky', 'last': 'Frail'},
{'id': 4, 'name': 'Teddy', 'last': 'Frail'}];
console.log(_.findIndex(users, { name: 'Teddy'}));
</
script
>
</
body
>
</
html
>
Producción:
- Comparando la propiedad con el número:
En esto hemos pasado la misma estructura que la anterior pero hemos usado la propiedad para hacer coincidir y comparar como ‘id’ que contiene los números. Funcionará de la misma manera y comparará todas las identificaciones hasta que obtengamos una identificación como ‘3’, que se menciona en el segundo parámetro.<!-- Write HTML code here -->
<
html
>
<
head
>
<
script
src
=
</
script
>
</
head
>
<
body
>
<
script
type
=
"text/javascript"
>
var users = [{'id': 1, 'name': 'Bobby', 'last': 'Stark'},
{'id': 2, 'name': 'Teddy', 'last': 'Lime'},
{'id': 3, 'name': 'Franky', 'last': 'Frail'},
{'id': 4, 'name': 'Teddy', 'last': 'Frail'},
{'id': 3, 'name': 'Tinu', 'last': 'Thauus'}];
console.log(_.findIndex(users, { id : 3}));
</
script
>
</
body
>
</
html
>
Producción:
- Pasar un elemento en el segundo parámetro que no está presente en la lista:
Si pasamos un elemento que la lista no contiene, el resultado será un número negativo -1. No habrá errores. Este es el caso donde la lista termina pero el elemento no está presente en ella.<!-- Write HTML code here -->
<
html
>
<
head
>
<
script
src
=
</
script
>
</
head
>
<
body
>
<
script
type
=
"text/javascript"
>
var users = [{'id': 1, 'name': 'Bobby', 'last': 'Stark'},
{'id': 2, 'name': 'Teddy', 'last': 'Lime'},
{'id': 3, 'name': 'Franky', 'last': 'Frail'},
{'id': 4, 'name': 'Teddy', 'last': 'Frail'},
{'id': 3, 'name': 'Tinu', 'last': 'Thauus'}];
console.log(_.findIndex(users, { id : 100}));
</
script
>
</
body
>
</
html
>
Producción:
NOTA:
Estos comandos no funcionarán en la consola de Google o en Firefox, ya que estos archivos adicionales deben agregarse y no se agregaron.
Por lo tanto, agregue los enlaces dados a su archivo HTML y luego ejecútelos.
Los enlaces son los siguientes:
<!-- Write HTML code here --> <script type="text/javascript" src ="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.9.1/underscore-min.js"> </script>
A continuación se muestra un ejemplo: