Contenido del curso
Primeros Pasos
- 5

¡Hola Mundo!
06:13 min - 6

Anatomía de una variable
09:23 min - 7

Tipos de datos: Mutabilidad e inmutabilidad
10:55 min - 8

Paso por valor
11:06 min - 9

Paso por referencia
07:00 min - 10

Creación de strings
11:33 min - 11

Concatenación de strings
08:31 min - 12

Manipulación de strings
12:13 min - 13

Tipo de dato primitivo: number
09:30 min - 14

Conversión a Booleanos
05:08 min - 15

Tipos de datos primitivos: null, undefined, symbol y bigint
07:28 min - 16

Conversión de tipos: Type Casting y Coercion
04:38 min - 17

Conversión de tipos explícita e implícita
12:20 min - 18

Proyecto: Crea un perfil para redes sociales con JavaScript
07:23 min
Funciones y This
- 19

Anatomía de una función
11:39 min - 20

Preguntas a Desarrolladores Senior: ¿Por qué aprender Desarrollo Web?
02:11 min - 21

Funciones vs Métodos
10:01 min - 22

Funciones puras e impuras
11:22 min - 23

Identificador this
11:38 min - 24

Métodos bind, call y apply
10:09 min - 25

Funciones flecha y enlace léxico
10:31 min - 26

Implicaciones de duplicar código
03:19 min - 27

Funciones constructoras
10:41 min - 28

10 Tipos de funciones
01:39 min - 29

Objeto window y modo estricto
07:37 min - 30

Tipos de binding
01:11 min - 31

Expresiones vs Sentencias
04:02 min - 32

Proyecto: Crea biografías de personajes con JavaScript
12:51 min
Lógica y ciclos
- 33

Operadores de comparación
06:12 min - 34

Operadores lógicos
04:33 min - 35

Ejecución condicional: if
07:45 min - 36

Proyecto: Adivina el número
09:36 min - 37

Ejecución condicional: ternario
05:24 min - 38

Ejecución condicional: switch
12:08 min - 39

Loop: for
07:31 min - 40

Loop: forEach
03:57 min - 41

Loop: for of
04:26 min - 42

Loop: for in
07:38 min - 43

Loop: while
03:56 min - 44

Loop: do while
03:13 min - 45

Proyecto: Juego adivina la palabra
15:56 min
Fundamentos de arrays y modificación
- 46

Introducción a Arrays
09:09 min - 47

Mutabilidad e inmutabiliad de Arrays
07:56 min - 48

Modificación básica del final con push(), pop()
04:33 min - 49

Ejercicio: Stack de libros
16:03 min - 50

Modificación del principio con shift(), unshift()
10:21 min - 51

Modificación avanzada con splice(), reverse(), sort(), fill()
16:37 min - 52

Proyecto: Juego de cartas
15:37 min - 53

Preguntas a Desarrolladores Senior: Estrategias y métodos de estudio
01:10 min
Iteración de Arrays
- 54

Iteración con map() y forEach()
12:53 min - 55

Filtrado y reducción con filter() y reduce()
11:34 min - 56

Ejercicio: Calificación promedio aprobatoria
05:27 min - 57

Búsqueda de elementos con find() y findIndex()
Viendo ahora - 58

Ejercicio: Encuentra al ganador de una rifa
11:21 min - 59

Proyecto: Análisis de transacciones
10:55 min - 60

Proyecto: Análisis de transacciones parte 2
08:01 min
Métodos específicos y Operaciones
- 61

Unir y entrelazar con concat(), spread operator y join()
12:05 min - 62

Verificación y evaluación con every() y some()
05:15 min - 63

Métodos de búsqueda con includes(), indexOf() y lastIndexOf()
07:05 min - 64

Ejercicio: Encontrando los índices
11:09 min - 65

Crear copias con slice()
05:28 min - 66

Spread operator: casos de uso
07:11 min
Arrays multidimencionales
Clases y Objetos
- 71

Anatomia de un Objeto
06:48 min - 72

Trabajando con objetos
12:52 min - 73

Función constructora
14:31 min - 74

¿Qué es una clase?
06:17 min - 75

Prototipos y herencias
02:15 min - 76

Herencia en la práctica
15:38 min - 77

Prototipos en la práctica
10:42 min - 78

this en JavaScript
05:36 min - 79

Proyecto: Crea una red social
12:25 min - 80

Proyecto: Crea una red social parte 2
09:00 min
Búsqueda de elementos con find() y findIndex()
Resumen
Cuando trabajas con arrays en JavaScript, una necesidad frecuente es localizar un elemento específico o su posición sin alterar el array original. Para esto existen dos métodos fundamentales que funcionan de forma similar pero devuelven resultados distintos: find y findIndex. Ambos reciben una función con una condición y recorren el array hasta encontrar el primer elemento que la cumpla.
¿Cómo funciona el método find en JavaScript?
El método find recorre un array y devuelve el primer elemento que satisfaga la condición definida dentro de la función que le pasamos como argumento [0:24]. Es importante destacar que este método no modifica el array original, lo cual lo convierte en una opción segura cuando necesitas buscar sin efectos secundarios.
Por ejemplo, dado un array de múltiplos de cinco:
javascript const multiplesOfFive = [5, 10, 15, 20];
const firstNumberGreaterThanTen = multiplesOfFive.find(number => number > 10);
console.log(multiplesOfFive); // [5, 10, 15, 20] console.log(firstNumberGreaterThanTen); // 15
- El array permanece intacto:
[5, 10, 15, 20]. - El resultado es
15, que es el primer valor mayor a diez [1:08].
Si ningún elemento cumple la condición, find devuelve undefined. Esto es útil para validar existencia antes de operar con el resultado.
¿Qué hace findIndex y en qué se diferencia de find?
Mientras find devuelve el valor del elemento, findIndex devuelve el índice (la posición) del primer elemento que cumpla con la condición [1:30]. Si no encuentra ninguno, retorna -1.
javascript const randomNumbers = [6, 14, 27, 56, 40];
const indexOfNumber = randomNumbers.findIndex(number => number > 50);
console.log(randomNumbers); // [6, 14, 27, 56, 40] console.log(indexOfNumber); // 3
- El array original no se modifica.
- El primer número mayor a cincuenta es
56, ubicado en el índice 3 (posiciones: 0, 1, 2, 3) [2:22].
¿Cuándo usar find y cuándo findIndex?
- Usa
findcuando necesitas trabajar directamente con el valor encontrado. - Usa
findIndexcuando lo que importa es la posición del elemento, por ejemplo, para luego usar ese índice conspliceu otro método.
¿Qué tienen en común ambos métodos?
- Ninguno muta el array original.
- Ambos aceptan una callback function con la condición de búsqueda.
- Ambos se detienen en el primer elemento que cumpla la condición, lo que los hace eficientes al no recorrer el array completo innecesariamente.
¿Cómo se ejecutan estos métodos en la terminal?
Para probar ambos métodos, basta con crear un archivo JavaScript y ejecutarlo con Node.js [1:15]:
bash node clase-find-findIndex.js
Al correrlo, la consola imprime primero el array sin cambios y luego el resultado de cada método, confirmando que la inmutabilidad se mantiene en ambos casos.
Estos dos métodos son herramientas esenciales para la manipulación de datos en JavaScript. Dominarlos te permite escribir código más limpio y predecible al buscar dentro de colecciones. ¿Ya los has usado en algún proyecto? Comparte tu experiencia en los comentarios.