Los métodos Find y FindIndex
Parte de la sección Lógica y Flujo del Journey de JavaScript de Coddy — lección 58 de 65.
El método find() devuelve el primer elemento de un array que cumpla con la función de prueba proporcionada. Si no se encuentra ningún elemento, devuelve undefined.
El método findIndex() es similar pero devuelve el índice del primer elemento que coincide en lugar del elemento en sí. Si no se encuentra ningún elemento, devuelve -1.
Sintaxis básica:
array.find(callback(element[, index[, array]]))
array.findIndex(callback(element[, index[, array]]))Ejemplo sencillo con find():
const numbers = [5, 12, 8, 130, 44];
const found = numbers.find(num => num > 10);
console.log(found);
// 12 (primer número mayor que 10)Mismo ejemplo con findIndex():
const numbers = [5, 12, 8, 130, 44];
const foundIndex = numbers.findIndex(num => num > 10);
console.log(foundIndex);
// 1 (índice del primer número mayor que 10)Buscando objetos en un array:
const inventory = [
{name: 'apples', quantity: 2},
{name: 'bananas', quantity: 0},
{name: 'oranges', quantity: 5}
];
// Usando find
const result = inventory.find(item => item.name === 'bananas');
console.log(result); // {name: 'bananas', quantity: 0}
// Usando findIndex
const index = inventory.findIndex(item => item.name === 'bananas');
console.log(index); // 1Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Hoja de referencia
El método find() devuelve el primer elemento que cumple con una función de prueba, o undefined si no se encuentra ninguno:
const numbers = [5, 12, 8, 130, 44];
const found = numbers.find(num => num > 10);
console.log(found); // 12El método findIndex() devuelve el índice del primer elemento que coincide, o -1 si no se encuentra ninguno:
const numbers = [5, 12, 8, 130, 44];
const foundIndex = numbers.findIndex(num => num > 10);
console.log(foundIndex); // 1Búsqueda de objetos en arreglos:
const inventory = [
{name: 'apples', quantity: 2},
{name: 'bananas', quantity: 0},
{name: 'oranges', quantity: 5}
];
const result = inventory.find(item => item.name === 'bananas');
// {name: 'bananas', quantity: 0}
const index = inventory.findIndex(item => item.name === 'bananas');
// 1Pruébalo tú mismo
Esta lección no incluye un desafío de código.
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Lógica y Flujo
1Strings en profundidad
Fundamentos de stringsIterar sobre stringsTemplate LiteralsMétodos de stringsResumen - String Weaver4JSON Parte 2
Iterar sobre JSONJSON anidadoEncadenamiento opcional en JSONCopia superficial y profundaResumen - Tienda de bicicletasResumen - Sistema solar7Sistema de Gestión de Biblioteca
Descripción general del proyectoAñadir libros10Gestionar el sistema del festival
Descripción general del proyectoAñadir películas y sedes2Arreglos multidimensionales
Conceptos básicos de arreglos 2DAcceso a elementos de arreglos 2DBucles anidados con arreglos 2DResumen - Arreglos 2DSuma y resta de matricesArreglos irregulares (Jagged Arrays)Arreglos 3D y más alláPatrones comunes en arreglos 2DResumen - Todo sobre arreglos5Conjuntos Parte 1
¿Qué es un conjunto?Iterar sobre conjuntosAñadir un elementoEliminar un elementoComprobar si un elemento existeTamaño y Is EmptyCopy y ClearResumen - Conceptos básicos de conjuntos8Temas interesantes de Arrays
Desestructuración de ArraysSintaxis Spread en ArraysArrays dispersosResumen - Taller de Arrays3JSON Parte 1
¿Qué es un JSON?Comprobar si existe una claveMétodos de objetoEl Spread Operator Parte 1El Spread Operator Parte 2Eliminar clavesResumen - Manipular claves de JSON6Conjuntos Parte 2
Matemáticas - Unión de conjuntosMatemáticas - Intersección de conjuntosMatemáticas - Diferencia de conjuntosMatemáticas - Diferencia simétricaSubconjuntos y superconjuntosRepaso - Agrupar amigos9Métodos avanzados de Arrays
Los métodos Join y SplitEl método MapEl método FilterEl método ReduceEncadenamiento de métodos de Arrays¿Son iguales ForEach y Map?El método SortLos métodos Find y FindIndexResumen - El maestro del encadenamiento