Continuando com os posts sobre usos da Prototype, vamos ver nesse momento a classe Enumerable.
Quando você incorpora a biblioteca no seu projeto, automaticamente é como se a classe Array do javascript passasse a extender Enumerable. Com isso, novos métodos para manipulação são incorporados, deixando muito mais simples a manipulação de arrays.
Vamos ver alguns usos!
Percorrer um array
Da forma tradicional, se usa a diretiva for()
var arr = ["1", "2", "3"];
for(var i=0; i<arr.length; i++) { alert(arr[i]); }
Com a classe Enumerable, podemos usar o método each
var arr = ["1", "2", "3"]; arr.each(function(item) { alert(item); });
Verificar se todos os valores de um array são maiores (ou menores) do que um determinado valor
Podemos usar o método all() – esse método percorre todos os itens de um array e retorna false caso encontre algum valor false -, passando uma função como parâmetro que retorna true ou false dependendo da condição.
[9, 10, 15].all(function(n) { return n<12; }) //retorna false, pois 15 é maior do que 12
Verificar se um objeto está presente no array
Usamos o método include(object), passando object como parâmetro. Ele varrerá item por item do array e retornará true caso encontre um objeto igual
[´hello´, ´world´].include(´HELLO´); //retorna false [´hello´, ´world´].include(´hello´); //retorna true
Certamente, o método mais simples de usar é o primeiro – até porque interar em cima de arrays é algo comum na vida prática de quem programa em javascript. Mas fica a dica de dar uma olhada nessa classe, pois muito trabalho por nada pode ser evitado se algum dia você se deparar com alguma manipulação mais complexa de arrays.
Inclusive, vale a pena olhar os exemplos de todos os métodos, pois eles são bem explicados e abrangentes!
API da Classe Enumerable: http://www.prototypejs.org/api/enumerable