terça-feira, 30 de agosto de 2016

Guarde o tamanho do array

Guarde o tamanho do array

No JavaScript temos nossos brothers loops for, que conseguem iterar em arrays ou também em objetos semelhantes a arrays. Semelhantes? Como assim!? Por exemplo os objetos arguments e HTMLCollection. Provavelmente você já deve ter se deparado com um loop for (já deve ter escrito alguns):
  1. for(var i = 0; i < arrayFabeni.length; i++) {
  2. // magic
  3. }
De bate pronto, conseguimos perceber algo não tão bacana no código acima. O comprimento (length) do array é acessado em toda iteração do loop. Isso não fica tão legal quando por exemplo, o objeto é um HTMLCollection. Lembra o que são esses caras? Eles que são retornados quando a gente chama:
  • getElementsByName()
  • getElementsByClassName()
  • getElementsByTagName()
Tá! Legal! Mas eaí né?! A zica mesmo é que toda vez que a gente itera sobre esses caras significa que estamos consultando o nosso DOM ao vivo e a cores, e a *toda hora*, o que não é nada bacana.
Com base nisso, uma solução que podemos chegar seria guardarmos o comprimento do array; algo parecido com isso:
  1. for(var i = 0, max = arrayFabeni.length; i < max; i++) {
  2. // magic
  3. }
O que fizemos acima foi armazenar o valor da propriedade length, evitando assim ter que calculá-la a cada iteração do loop.

Nenhum comentário:

Postar um comentário