Use o Loop For-In para Iterar Através dos Elementos de um Array
Nesta etapa, você aprenderá sobre o loop for-in em JavaScript, que fornece uma maneira fácil de iterar pelas propriedades de um objeto ou pelos elementos de um array.
Crie um novo arquivo chamado forInLoop.js no diretório ~/project usando o WebIDE:
// Iterando por um array usando o loop for-in
let fruits = ["maçã", "banana", "cereja", "tâmara"];
console.log("Iterando pelos Índices do Array:");
for (let index in fruits) {
console.log(`Índice: ${index}, Fruta: ${fruits[index]}`);
}
// Iterando por um objeto usando o loop for-in
let student = {
name: "John Doe",
age: 22,
major: "Ciência da Computação",
gpa: 3.8
};
console.log("\nIterando pelas Propriedades do Objeto:");
for (let property in student) {
console.log(`${property}: ${student[property]}`);
}
// Exemplo prático: Calculando o preço total dos itens
let shoppingCart = [
{ name: "Laptop", price: 1000 },
{ name: "Headphones", price: 100 },
{ name: "Mouse", price: 50 }
];
console.log("\nCalculando o Preço Total:");
let totalPrice = 0;
for (let index in shoppingCart) {
totalPrice += shoppingCart[index].price;
}
console.log(`Preço Total: $${totalPrice}`);
Execute o arquivo JavaScript para ver o loop for-in em ação:
node ~/project/forInLoop.js
Exemplo de saída:
Iterando pelos Índices do Array:
Índice: 0, Fruta: maçã
Índice: 1, Fruta: banana
Índice: 2, Fruta: cereja
Índice: 3, Fruta: tâmara
Iterando pelas Propriedades do Objeto:
name: John Doe
age: 22
major: Ciência da Computação
gpa: 3.8
Calculando o Preço Total:
Preço Total: $1150
Pontos-chave sobre os loops for-in:
- Funciona com arrays e objetos
- Itera pelos índices (para arrays) ou propriedades (para objetos)
- Fornece uma maneira simples de acessar elementos sem usar loops tradicionais baseados em índice
- Tenha cuidado ao usar com arrays, pois ele itera por todas as propriedades enumeráveis
Vamos explorar outro exemplo para demonstrar sua flexibilidade:
// Usando o loop for-in para filtrar e transformar dados
let grades = {
math: 85,
science: 92,
english: 78,
history: 88
};
console.log("Filtrando Notas Acima de 80:");
for (let subject in grades) {
if (grades[subject] > 80) {
console.log(`${subject}: ${grades[subject]}`);
}
}
Execute o arquivo novamente:
node ~/project/forInLoop.js
Exemplo de saída:
Filtrando Notas Acima de 80:
math: 85
science: 92
history: 88