Menu
Coddy logo textTech

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); // 1
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

quiz iconPonte a prueba

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); // 12

El 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); // 1

Bú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');
// 1

Pruébalo tú mismo

Esta lección no incluye un desafío de código.

quiz iconPonte a prueba

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