8.1 Método forEach()
Los métodos que recorren arrays en JavaScript ofrecen potentes herramientas para trabajar con arrays, permitiendo realizar varias operaciones sobre sus elementos. En este tema, vamos a ver los métodos que recorren más importantes, incluyendo forEach(), map(), filter(), reduce(), some(), every(), find() y findIndex().
El método forEach() ejecuta la función especificada una vez para cada elemento del array. Este método no devuelve un nuevo array y no se puede detener.
Sintaxis:
array.forEach(function(element, index, array) {
// cuerpo de la función
});
Ejemplo:
El método forEach() recorre cada elemento del array numbers[] y muestra su índice y valor.
const numbers = [1, 2, 3, 4, 5];
numbers.forEach((number, index) => {
console.log(`Index: ${index}, Value: ${number}`);
});
// Salida:
// Index: 0, Value: 1
// Index: 1, Value: 2
// Index: 2, Value: 3
// Index: 3, Value: 4
// Index: 4, Value: 5
8.2 Método map()
El método map() crea un nuevo array con el resultado de llamar a la función especificada para cada elemento del array.
Sintaxis:
const newArray = array.map(function(element, index, array) {
// cuerpo de la función
return nuevo_valor;
});
La función de transformación también se puede escribir como una función flecha:
const newArray = array.map((element, index, array) => nuevo_valor);
Ejemplo:
El método map() crea un nuevo array squared[] que contiene los cuadrados de los números del array numbers[].
const numbers = [1, 2, 3, 4, 5];
const squared = numbers.map(number => number * number);
console.log(squared); // [1, 4, 9, 16, 25]
8.3 Método filter()
El método filter() crea un nuevo array con todos los elementos que pasan la prueba implementada por la función dada.
const newArray = array.filter(function(element, index, array) {
// cuerpo de la función
return condición;
});
La función filtro también se puede escribir como una función flecha:
const newArray = array.filter((element, index, array) => condición);
Ejemplo:
El método filter() crea un nuevo array evenNumbers[] que contiene solo los números pares del array numbers[].
const numbers = [1, 2, 3, 4, 5];
const evenNumbers = numbers.filter(number => number % 2 === 0);
console.log(evenNumbers); // [2, 4]
8.4 Método reduce()
El método reduce() aplica una función a un acumulador y a cada elemento del array (de izquierda a derecha) para reducirlo a un solo valor.
Sintaxis:
const result = array.reduce(function(accumulator, current, index, array) {
// cuerpo de la función
return nuevo_valor_acumulador;
}, initialValue);
La función acumuladora también se puede escribir como una función flecha:
const result = array.reduce((accumulator, current, index, array) =>
nuevo_valor, initialValue
);
Ejemplo:
El método reduce() reduce el array numbers[] a un solo valor sum, sumando todos los elementos del array.
const numbers = [1, 2, 3, 4, 5];
const sum = numbers.reduce((acc, number) => acc + number, 0);
console.log(sum); // 15
8.5 Método some()
El método some() verifica si al menos uno de los elementos del array cumple la condición dada en la función proporcionada. Retorna true o false.
Sintaxis:
const result = array.some(function(element, index, array) {
// cuerpo de la función
return condición;
});
La función de verificación también se puede escribir como una función flecha:
const result = array.some((element, index, array) => condición);
Ejemplo:
El método some() verifica si hay al menos un número par en el array numbers[] y retorna true.
const numbers = [1, 2, 3, 4, 5];
const hasEvenNumber = numbers.some(number => number % 2 === 0);
console.log(hasEvenNumber); // true
8.6 Método every()
El método every() verifica si todos los elementos del array cumplen la condición dada en la función proporcionada. Retorna true o false.
Sintaxis:
const result = array.every(function(element, index, array) {
// cuerpo de la función
return condición;
});
La función de verificación también se puede escribir como una función flecha:
const result = array.every((element, index, array) => condición);
Ejemplo:
El método every() verifica si todos los elementos del array numbers[] son positivos y retorna true.
const numbers = [1, 2, 3, 4, 5];
const allPositive = numbers.every(number => number > 0);
console.log(allPositive); // true
8.7 Método find()
El método find() retorna el primer elemento del array que cumple con la condición dada en la función proporcionada. Si ningún elemento cumple la condición, retorna undefined.
Sintaxis:
const result = array.find(function(element, index, array) {
// cuerpo de la función
return condición;
});
La función de verificación también se puede escribir como una función flecha:
const result = array.find((element, index, array) => condición);
Ejemplo:
El método find() retorna el primer número par del array numbers[].
const numbers = [1, 2, 3, 4, 5];
const firstEven = numbers.find(number => number % 2 === 0);
console.log(firstEven); // 2
8.8 Método findIndex()
El método findIndex() retorna el índice del primer elemento del array que cumple con la condición dada en la función proporcionada. Si ningún elemento cumple la condición, retorna -1.
Sintaxis:
const result = array.findIndex(function(element, index, array) {
// cuerpo de la función
return condición;
});
La función de verificación también se puede escribir como una función flecha:
const result = array.findIndex((element, index, array) => condición);
Ejemplo:
El método findIndex() retorna el índice del primer número par en el array numbers[].
const numbers = [1, 2, 3, 4, 5];
const firstEvenIndex = numbers.findIndex(number => number % 2 === 0);
console.log(firstEvenIndex); // 1
GO TO FULL VERSION