Uso de los métodos find y findIndex en JavaScript
Clase 17 de 28 • Curso de Manipulación de Arrays en JavaScript
Contenido del curso
- 2

Recorrido de Arrays con Foreach en JavaScript
09:35 - 3

Mutabilidad vs Inmutabilidad en Programación JavaScript
04:17 - 4

Uso de Map para Transformaciones en JavaScript y Renderizado HTML
07:28 - 5
Playground: multiplica todos los elementos por dos
00:00 - 6

Transformaciones avanzadas con map en JavaScript
09:59 - 7
Playground: calcula y agrega nuevas propiedades a un array
00:00 - 8

Filtrado de Arrays en JavaScript con el Método Filter
12:41 - 9
Playground: retorna solo palabras de 4 letras o más
00:00 - 10

Uso del método reduce en JavaScript para sumar elementos de un array
07:09 - 11

Contar elementos en un array con reduce y agrupar por rango
10:29 - 12
Playground: calcula la suma total de elementos en un array
00:00
- 13

Uso de la función "sum" en JavaScript para evaluar condiciones
11:45 - 14
Playground: ¿al menos 1 de los números es par?
00:00 - 15

Uso del método `every` en JavaScript para validaciones de arrays
04:13 - 16
Playground: retorna un booleano si todos los elementos son pares
00:00 - 17

Uso de los métodos find y findIndex en JavaScript
06:20 - 18

Uso del método includes en JavaScript para arrays y strings
04:59 - 19
Playground: buscador de palabras con parámetros de búsqueda
00:00 - 20

Unificación y separación de arrays con join y split en JavaScript
07:02 - 21
Playground: construye URLs a partir de strings
00:00 - 22

Fusión de Arrays con Concat y Operador Spread en JavaScript
09:35 - 23

Aplanar Arrays en JavaScript con Flat y FlatMap
06:45 - 24

Uso de FlatMap para Extraer Fechas de Calendarios en JavaScript
09:22 - 25
Playground: calcula el total de palabras en un texto
00:00 - 26

Métodos Mutables e Inmutables en Arrays: Manipulación y Búsqueda
10:27 - 27

Ordenamiento de Arrays con el Método Sort en JavaScript
07:13
Los métodos find y findIndex consisten en encontrar el primer elemento de un array que cumpla con la condición especificada en la función (callback).
En el caso de find retornará el elemento completo, si cumple con la condición, caso contrario retornará undefined. El método findIndex retornará el índice del elemento encontrado, caso contrario retornará -1.
Estos procedimientos reciben dos argumentos:
- La función que itera y evalúa cada elemento del array hasta encuentre uno que cumpla con la condición especificada (obligatorio).
- Un objeto al que puede hacer referencia el contexto
thisen la función. Si se lo omite, seráundefined. Recuerde quethisen arrow functions es el objeto global.
array.find(function(), thisArg)
array.findIndex(function(), thisArg)
La función, que recibe como argumento los métodos find y findIndex, utiliza tres parámetros:
- El valor actual del elemento iterado. Es decir, si es la primera iteración, será el primer elemento, y así sucesivamente.
- El índice del elemento iterado. Es decir, si es la primera iteración, será el índice
0, y así sucesivamente. - El array que está iterando.
array.find(function(element, index, array))
array.findIndex(function(element, index, array))
Diferencia entre la estructura for y los métodos find y findIndex
Los métodos de arrays nos permiten realizar algoritmos con una menor cantidad de líneas que una estructura for, con un resultado igual o parecido.
Por ejemplo, hagamos un algoritmo que devuelva el primer elemento que sea mayor a 40 de un array.
Si utilizamos la estructura for, necesitaremos una variable con el valor undefined e iterar hasta que se cumpla la condición. La palabra reservada break rompe el ciclo repetitivo.
const numbers = [1, 30, 41, 29, 50, 60]
let respuesta = undefined
for (let i=0; i < numbers.length; i++){
const element = numbers[i]
if (element >= 40) {
respuesta = element
break
}
}
console.log(respuesta) // 41
Si se necesita el índice, en lugar de una variable con el valor de undefined, debería estar un valor de -1. Y también cambiar el valor del elemento por el del índice del for.
Con los métodos find y findIndex, solo debemos establecer la función que indique la condición a cumplir para cada elemento.
const numbers = [1, 30, 41, 29, 50, 60]
const respuesta = numbers.find(item => item >= 40)
const respuesta2 = numbers.findIndex(item => item >= 40)
console.log(respuesta) // 41
console.log(respuesta2) // 2
Recuerda que si los métodos find y findIndex no encuentran EL elemento, devolverán undefined y -1, respectivamente.
const numbers = ["a", "b", "c"]
const respuesta = numbers.find(item => item >= 40)
const respuesta2 = numbers.findIndex(item => item >= 40)
console.log(respuesta) // undefined
console.log(respuesta2) // -1
Contribución creada por: Andrés Guano.