Forma otimizada de For
05/09/06
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.
- Permalink
- Trackback
- Comentários (5)
- Ao som de: Allister – Radio Player
Textos escritos por
Comentários #
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.
Meu caso foi contrário, eu conheço o for, mas não o foreach no PHP.
Muito boa dica.
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)
}
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.
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