Como os prometí, voy a poner algun ejemplo más de los nuevos metodos del array en Actionscript 3. Particularmente interesantes son:
map: Ejecuta la funcion en cada uno de los elementos y crea un nuevo array con el resultado. Esto es particularmente útil cuando necesitas hacer una transformación sobre todos los elementos del Array como convertirlos en mayusculas/minusculas, cambiar espacios por guiones o cosas mas complicadas con objetos. Posiblemente es de las novedades que más utilize.
filter: Ejecuta la funcion en cada uno de los elementos para determinar si deben de aparecer en el nuevo Array. Como su propio nombre indica sirve para realizar un filtro determinado sobre los elementos.
Muy interesante tambien la posibilidad de ir combinandolos, el siguiente ejemplo pone en mayusculas la primera letra de los elementos en un Array de Strings, desecha los elementos que no tengan mas de una palabra y los muestra en pantalla.
Actionscript:
-
<code>
-
var items:Array = ["turn on the bright lights","antics","our love to ADMIRE"];</code>
-
-
function capitalize(item:String,index:int,arr:Array):String
-
{
-
return item.charAt(0).toUpperCase() + item.substring(1).toLowerCase();
-
}
-
function multipleWords(item:String,index:int,arr:Array):Boolean
-
{
-
return item.split(" ").length>1;
-
}
-
function render(item:String,index:int,arr:Array):void
-
{
-
var txt:TextField = new TextField();
-
txt.text = item;
-
txt.y = index*20;
-
txt.width = 200;
-
stage.addChild(txt);
-
}
-
items.map(capitalize).filter(multipleWords).forEach(render);
Genial, ¿no?
Aqui enumero la lista de estos nuevos métodos para que les hecheis un vistazo:
- every:
- Sirve para determinar si todos los elementos de un array cumplen un determinado criterio o condicion
- some:
- Parecido a every. En este caso determina si alguno de los elementos lo cumplen
- filter:
- Crea un nuevo array filtrando los elementos
- forEach:
- Ejecuta una función por cada uno de los elementos
- filter:
- Crea un nuevo array filtrando los elementos con la función dada
- map:
- Crea un nuevo array esta vez transformando los elementos con la función
Bastante útiles todos como podeis ver... ;)