Uma coisa que sempre senti falta no Javascript era algo semelhante ao foreach do PHP. Alguns dias atrás, aprendi uma maneira que substitui bem:

var fruits = ['apple', 'orange', 'lemon'];
 
for (var i = 0, fruit; fruit = fruits[i]; i++) {
    alert(fruit);
}

Se você não entendeu nada, aí vai: para cada iteração, definimos a variável fruit como sendo fruits[i]. Quando nosso array não tiver mais elementos, será definido como undefined e o loop é encerrado. Dica do Targa.

Comentários #

#1 Renato Targa disse:
05 Set 06, 04:08PM

Há um outro benefício, ainda mais interessante: essa maneira de fazer o loop otimiza a performance, pois não requer comparações, você apenas atribui um valor (ou objeto) a uma variável com o valor vindo direto de um array.

fruit = fruits[i]
é mais rápido de processar que
i < fruits.length
pois você precisa verificar o length da array e depois comparar com o valor de i.

#2 DGmike disse:
14 Set 06, 10:12AM

Meu caso foi contrário, eu conheço o for, mas não o foreach no PHP.
Muito boa dica.

#3 Leonardo Priori disse:
18 Out 06, 01:28AM

tem tb o for in

for( i in fruits ){
alert(fruits[i])
}

ou algo mais completo
for( i in fruits )if( i != 'length' ){
fruit = fruits[i]
alert(fruit)
}

#4 Flávio Albuquerque Camilo disse:
02 Nov 06, 06:15AM

Em Java5.0, o foreach fica assim:

String[] strings = {"Flávio", "Albuquerque", "Camilo"};

for (String s : strings) {
System.out.println(s);
}

Muito mais simples!

Abraço.

#5 Thiago Caiubi disse:
18 Fev 11, 10:50AM

Se você não se importa com a ordem do seu array, pode usar a seguinte abordagem:

var fruits = ['apple', 'orange', 'lemon'];

for (var i = fruits.length; i--;) {
alert(fruits[i]);
}

:p

Abraço.

Deixe um comentário





Não é aceito código HTML: adicione-o no pastie.org ou paste.milk-it.net e poste apenas o link.

Se este é seu primeiro comentário, ele terá que ser aprovado antes de ser exibido.

JavaScript Avançado

O JavaScript é a única linguagem que muitos acreditam saber sem nunca terem parado para realmente aprendê-la. Neste workshop rápido você entenderá de verdade todos os conceitos avançados do JavaScript em 4 horas puramente práticas.

Saiba mais Fechar

Conheça também o HOWTO