Utiliza el bucle For-In para iterar a través de los elementos de un array
En este paso, aprenderás sobre el bucle for-in en JavaScript, que proporciona una forma fácil de iterar a través de las propiedades de un objeto o los elementos de un array.
Crea un nuevo archivo llamado forInLoop.js en el directorio ~/project usando el WebIDE:
// Iterando a través de un array usando el bucle for-in
let fruits = ["apple", "banana", "cherry", "date"];
console.log("Iterando a través de los índices del array:");
for (let index in fruits) {
console.log(`Índice: ${index}, Fruta: ${fruits[index]}`);
}
// Iterando a través de un objeto usando el bucle for-in
let student = {
name: "John Doe",
age: 22,
major: "Computer Science",
gpa: 3.8
};
console.log("\nIterando a través de las propiedades del objeto:");
for (let property in student) {
console.log(`${property}: ${student[property]}`);
}
// Ejemplo práctico: Calculando el precio total de los artículos
let shoppingCart = [
{ name: "Laptop", price: 1000 },
{ name: "Headphones", price: 100 },
{ name: "Mouse", price: 50 }
];
console.log("\nCalculando el precio total:");
let totalPrice = 0;
for (let index in shoppingCart) {
totalPrice += shoppingCart[index].price;
}
console.log(`Precio total: $${totalPrice}`);
Ejecuta el archivo de JavaScript para ver el bucle for-in en acción:
node ~/project/forInLoop.js
Salida de ejemplo:
Iterando a través de los índices del array:
Índice: 0, Fruta: apple
Índice: 1, Fruta: banana
Índice: 2, Fruta: cherry
Índice: 3, Fruta: date
Iterando a través de las propiedades del objeto:
name: John Doe
age: 22
major: Computer Science
gpa: 3.8
Calculando el precio total:
Precio total: $1150
Puntos claves sobre los bucles for-in:
- Funciona con arrays y objetos
- Itera a través de los índices (para arrays) o propiedades (para objetos)
- Proporciona una forma simple de acceder a los elementos sin usar bucles basados en índices tradicionales
- Tenga cuidado al usar con arrays, ya que itera a través de todas las propiedades enumerables
Vamos a explorar otro ejemplo para demostrar su flexibilidad:
// Usando el bucle for-in para filtrar y transformar datos
let grades = {
math: 85,
science: 92,
english: 78,
history: 88
};
console.log("Filtrando calificaciones por encima de 80:");
for (let subject in grades) {
if (grades[subject] > 80) {
console.log(`${subject}: ${grades[subject]}`);
}
}
Ejecuta el archivo nuevamente:
node ~/project/forInLoop.js
Salida de ejemplo:
Filtrando calificaciones por encima de 80:
math: 85
science: 92
history: 88