hernan ismael cuello
me equivoque 20 veces, pero descubri 20 formas de como no hacerlo :B
Laura Ximena Bermudez Perez
Buenísmo!
Oliver Fabian Avila Tamayo
jajajjajaj
Dominar la iteración sobre arrays es fundamental para cualquier persona que trabaje con JavaScript. Dos métodos destacan por su capacidad de recorrer elementos sin modificar el array original: map y forEach. Aunque ambos ejecutan una función sobre cada elemento, su comportamiento y lo que devuelven es completamente distinto, y entender esa diferencia marca un antes y un después en la forma de escribir código limpio.
¿Cómo funciona el método map en JavaScript?
El método map es uno de los más utilizados en arrays. Su propósito es aplicar una función a cada elemento y construir un nuevo array con los resultados [01:00]. El array original permanece intacto, lo que lo convierte en una herramienta segura cuando no queremos mutar datos.
Por ejemplo, dado un array de números del uno al cinco, se puede elevar cada número al cuadrado:
javascript const numbers = [1, 2, 3, 4, 5]; const squaredNumbers = numbers.map(num => num * num); console.log(numbers); // [1, 2, 3, 4, 5] console.log(squaredNumbers); // [1, 4, 9, 16, 25]
Este patrón es especialmente útil cuando necesitas transformar datos y conservar la referencia original.
¿Qué diferencia a forEach de map?
El método forEach también itera sobre cada elemento y ejecuta una función proporcionada, pero no devuelve un nuevo array [03:28]. Su valor de retorno es undefined. Esto significa que sirve para ejecutar acciones secundarias, como imprimir valores, pero no para generar una nueva colección.
javascript const colors = ['red', 'pink', 'blue']; const iteratedColors = colors.forEach(color => console.log(color)); console.log(colors); // ['red', 'pink', 'blue'] console.log(iteratedColors); // undefined
iteratedColors queda como indefinido.La clave está en que forEach ejecuta efectos secundarios, mientras que map produce un resultado almacenable.
¿Cuándo usar map y cuándo forEach en ejercicios prácticos?
¿Cómo convertir temperaturas de Fahrenheit a Celsius con map?
Cuando necesitas un array nuevo con valores transformados, map es la elección correcta [05:15]. En este ejercicio se toman temperaturas en Fahrenheit y se aplica la fórmula (5/9) * (fahrenheit - 32) a cada elemento:
javascript const temperaturasEnFahrenheit = [32, 68, 95, 212]; const temperaturasEnCelsius = temperaturasEnFahrenheit.map( fahrenheit => (5 / 9) * (fahrenheit - 32) ); console.log(temperaturasEnFahrenheit); // [32, 68, 95, 212] console.log(temperaturasEnCelsius); // [0, 20, 35, 100]
¿Cómo sumar todos los elementos de un array con forEach?
Cuando el objetivo no es crear un array sino acumular un valor, forEach resulta más adecuado [08:05]. Aquí se calcula la suma de todos los números:
javascript const newNumbers = [1, 2, 3, 4, 5]; let suma = 0; newNumbers.forEach(number => { suma += number; }); console.log(newNumbers); // [1, 2, 3, 4, 5] console.log(suma); // 15
suma se inicializa en cero y se incrementa con cada iteración.+= es un atajo para suma = suma + number.La regla general es sencilla: si necesitas un nuevo array transformado, usa map. Si necesitas ejecutar una acción por cada elemento sin generar un array, usa forEach. Cuéntanos en los comentarios si lograste identificar cuál método correspondía a cada ejercicio antes de ver la solución.
hernan ismael cuello
me equivoque 20 veces, pero descubri 20 formas de como no hacerlo :B
Laura Ximena Bermudez Perez
Buenísmo!
Oliver Fabian Avila Tamayo
jajajjajaj
Alejandro Guadalupe Sanchez Sanchez
Tanto map() como forEach() son métodos que permiten iterar sobre los elementos de un array en JavaScript, pero tienen diferencias importantes en su funcionalidad y propósito. Aquí te explico cada uno y sus diferencias.
1. forEach()
El método forEach() recorre cada elemento de un array y ejecuta una función proporcionada para cada uno de ellos. No devuelve nada y solo sirve para realizar una acción sobre cada elemento (por ejemplo, imprimir, actualizar, etc.).
Ejemplo:
[javascriptCopiar códigolet numbers = [1, 2, 3, 4];
numbers.forEach(function(number) {
console.log(number * 2);
});
Salida:
Copiar código2 4 6 8
Características de forEach():
2. map()
El método map() también recorre cada elemento del array, pero devuelve un nuevo array con los resultados de aplicar una función a cada uno de sus elementos. Es útil cuando quieres transformar cada elemento en algo nuevo.
Ejemplo:
javascriptCopiar códigolet numbers = [1, 2, 3, 4];
let doubledNumbers = numbers.map(function(number) {
return number * 2;
});
console.log(doubledNumbers);
Salida:
csharpCopiar código[2, 4, 6, 8]
Características de map():
Diferencias clave entre map() y forEach():
map() devuelve un nuevo array, mientras que forEach() no devuelve nada.forEach() cuando solo necesitas ejecutar un bloque de código para cada elemento, pero si necesitas transformar los elementos de un array y devolver un nuevo array, debes usar map().map() se puede encadenar con otros métodos de arrays, pero forEach() no, ya que no devuelve ningún valor.Ejemplo de comparación:
javascriptCopiar códigolet numbers = [1, 2, 3, 4];
// Con forEach
numbers.forEach(function(number) {
console.log(number * 2); // Solo imprime los valores multiplicados
});
// Con map
let doubledNumbers = numbers.map(function(number) {
return number * 2;
});
console.log(doubledNumbers); // Devuelve un nuevo array con los valores multiplicados
Juan Roberto Adolfo Esquivel Segovia
Me robe tu apunte para mi libreta de notion, muchas gracias que la virgencita de Guadalupe te tenga en su gloria
Cristhian Mucun
Realice otros ejercicios, la cual recorre el Array para convertir en mayúsculas el contenido del Array.
Emilio Ciappi
Como van a eliminar el curso anterior, si actualizan den acceso al curso anterior o dejen ver hasta donde uno llego para que pueda seguir con el nuevo y no fumarse todo desde el principio.
Emilio Ciappi
y es seguro que no grabaron clases nuevas sino que lo eliminaron clases porque en el anterior habia 70 y ahora 54.
Elver David Matacea Lopez
En realidad si hay clases nuevas y en un orden diferente, si bien estuvo mal que no hayan dejado el curso anterior o el recorrido que teniamos en el anterior curso no fue una mala actualizacion
Diego Zazueta
usaria en la ultima actividad reduce
let far = [32,68,95]; const res = far.reduce((acc, num) => acc + num); console.log(res); ```let far = \[32,68,95];
Diego Zazueta
let far = [32,68,95];
const res = far.reduce((acc, num) => acc + num);
Agustina Corvo
Para devolver la temperatura con menos números decimales modifiqué esa línea de código de la siguiente manera:
const temperaturesInCelsius = temperaturesInFahrenheit.map((temp) => parseFloat(((5 / 9) * temp - 32).toFixed(1)));
Para mejorar la legibilidad se podría extraer a una función.
Diego Zazueta
tambien puedes usar para convertir a numero un string de numero el operador unario +
const cels = far.map(far => +((5/9) * (far - 32)).toFixed(2))
Alejandro Sánchez Yalí
En JavaScript, forEach y map son dos métodos muy útiles para trabajar con arrays. Aunque pueden parecer similares a primera vista, tienen propósitos y comportamientos diferentes. Veamos cómo funciona cada uno:
forEach
El método forEach se utiliza para ejecutar una función en cada elemento de un array, pero no devuelve nada. Es útil cuando quieres realizar una acción para cada elemento sin modificar el array original.
Ejemplo:
const frutas = ['manzana', 'banana', 'naranja']; frutas.forEach((fruta, index) => { console.log(`Fruta ${index + 1}: ${fruta}`); }); // Salida: // Fruta 1: manzana // Fruta 2: banana // Fruta 3: naranja
map
Por otro lado, map crea un nuevo array con los resultados de llamar a una función para cada elemento del array original. Es ideal cuando quieres transformar cada elemento de un array.
Ejemplo:
const numeros = [1, 2, 3, 4, 5]; const cuadrados = numeros.map(numero => numero * numero); console.log(cuadrados); // [1, 4, 9, 16, 25]
Diferencias clave
forEach no devuelve nada (undefined), mientras que map devuelve un nuevo array.forEach no modifica el array original, map crea un nuevo array sin modificar el original.forEach para efectos secundarios (como logging), y map para transformar datos.Miguel Angel Osornio
Aqui un ejercico para poder seguir practivando y como lo resolvi :
// Tienes el array [10, 20, 30]. Usa map para crear un nuevo array con sus mitades. //Luego, usa forEach para imprimirlos. No olvides revisar const datos = [10, 20, 30] const newDatos = datos.map(num => num / 2) newDatos.forEach(dat => { console.log('Numeros: del array a la mitad' + dat) })
Daniel Vergel
Diego Peraza
Habiendo visto la siguiente clase, pude ver que esa suma por ejemplo se puede hacer con .reduce y me ahorre una línea.
Me empiezo a hacer a la idea de que puede haber varias soluciones para un problema e incluso dos métodos (o combinación de métodos) que pueden darte el mismo resultado. Realmente depende de tus necesidades y puede haber casos en los que un método si es más adecuado que otro pero ese no es siempre el caso.
Estoy en lo correcto ?
Miguel Jonathan Madrigal González
Asi es hermano. Existen diferentes métodos que cumplan tu mismo propósito.
.
He investigado sobre esta situación, sobre como saber cual de los métodos termina siendo el mejor a aplicar, y a veces tienes mejor rendimiento unos métodos que otros en situaciones específicas.
.
Pero, las diferencias de rendimiento y eficacia son apenas notables en cargas de trabajo muy altas.
.
Veo mucha importancia en buscar siempre en que situaciones y contextos deberiamos usar que código, sobre todo cuando queremos que nuestro proyecto sea escalable en el futuro.
.
Gracias por tu comentario bro. Continuemos desarrollando estas pláticas :)
Alexander Bonilla Garcia
con la estructura de la clase, logre organizar una idea para una funcion que me ayude a convertir la temperatura de Fahrenheit a Celcius
Tino Ponce
Ya vieron que les marca error cuando declaran como const a la variable sum.
Esto se debe a que el valor de esa variable no debe cambiar una vez que ha sido asignado.
JOSE MARIA SUAREZ GIESE
Estoy un poco perdido. Al hacer numbers.map(num), javascript entiende automáticamente que num es cada uno de los elementos del array numbres?
Arturo Emiliano Sánchez Romero
Correcto, defines el nombre de la variable que representa a cada elemento del array. numbers.map(num=>código)
Jafeth Jesús Sánchez Sánchez
¿Qué es map()?
map() es un método que se utiliza con arreglos. Su trabajo es recorrer cada elemento de un arreglo, aplicar una función a ese elemento y luego devolver un nuevo arreglo con los resultados.
¿Cómo funciona?
map() aplica una función a cada elemento del arreglo.Lo importante es que map() no modifica el arreglo original.
Ejemplo sencillo con un arreglo de números
Imagina que tienes un arreglo de números y quieres multiplicar cada número por 3. Con map(), esto se hace de manera súper sencilla.
// Uso de map let numeros = [1,2,3,4,5]; // Modificar el arreglo con map let modificador = numeros.map (element=>{ return element*3; }); console.log(modificador);
Gorka Gallardo Castany
Dos ejemplos sobre como hacer el ejercicio mencionado en la clase:
// Forma 1 function convert(temperature) { const res = 5 / 9 * (temperature - 32) return res } const temp = [93.2, 98.6, 140] const convert_to_celsius = temp.map(temp => convert(temp)) console.log(convert_to_celsius) // Forma 2 const celsius_00 = temp.map(temp => 5 / 9 * (temp - 32)) console.log(celsius_00)
Hernán García Urrutia
Para el primer ejercicio usaría map
const temperaturas = [10, 15, 20, 28] const farenheitACelcius = temperaturas.map(temperatura => (5/9)*(temperatura - 32)) console.log(farenheitACelcius)
Para el segundo usaría un forEach, pues solo debemos regresar un valor con la suma y no un array.
const numeros = [10,40,100,200] let suma = 0 const sumaDeNumeros = numeros.forEach(numero => { suma += numero }) console.log(sumaDeNumeros)
Santiago Amaya
Santiago Amaya
.map return un nuevoarray .forEach no
David Rangel
Usuaria para el segundo ejercicio forEach ya que tienes acceso "directo" a cada uno de los valores.