Flash Player 5; se han añadido funciones adicionales en Flash Player 7.
Sintaxis
my_array.sort()
my_array.sort(compareFunction)
my_array.sort(option | option |... )
my_array.sort(compareFunction, option | option |... )
Parámetros
compareFunction Función de comparación opcional que se utiliza para determinar el orden de los elementos de una matriz. Dados los elementos A y B, el resultado de compareFunction puede tener uno de los tres valores siguientes:
- -1 si A aparece antes que B en la secuencia de ordenamiento
- 0 si A = B
- 1 si A aparece antes que B en la secuencia de ordenamiento
- 1 o Array.CASEINSENSITIVE
- 2 o Array.DESCENDING
- 4 o Array.UNIQUE
- 8 o Array.RETURNINDEXEDARRAY
- 16 o Array.NUMERIC
Valor devuelto
El valor devuelto depende de si se pasa algún parámetro:
- Si especifica un valor de 4 o Array.UNIQUE como option y dos o más de los elementos que se están ordenando tienen campos de clasificación idénticos, Flash devuelve un valor de 0 y no modifica la matriz.
- Si especifica un valor de Array.RETURNINDEXEDARRAY como option, Flash devuelve una matriz que refleja el resultado de la clasificación y no modifica la matriz.
- De lo contrario, Flash no devuelve nada y modifica la matriz de manera que refleje el orden de clasificación.
Método; ordena los elementos de una matriz. Flash ordena siguiendo valores ASCII (Unicode). Si alguno de los elementos que se están ordenando no contiene el campo especificado en el parámetro fieldName, se interpreta el campo como undefined, y los elementos se sitúan de manera consecutiva en la matriz sin ningún orden en particular.
De forma predeterminada, Array.sort() funciona de esta manera:
- La clasificación distingue entre mayúsculas y minúsculas (Z va antes que a).
- La clasificación es ascendente (a va antes que b).
- La matriz se modifica de manera que refleje el orden de clasificación; múltiples elementos con campos de clasificación idénticos se sitúan de manera consecutiva en la matriz sin ningún orden en particular.
- Los campos numéricos se ordenan como si fueran cadenas, de manera que 100 va antes que 99, ya que "1" es un valor de cadena menor que "9".
- No devuelve nada.
Si desea especificar uno o más campos por los que ordenar, utilizando la clasificación predeterminada o el parámetro options, utilice Array.sortOn().
Ejemplo
Sintaxis 1: el ejemplo siguiente muestra el uso de Array.sort() con y sin pasar un valor para option:
var fruits_array = ["naranjas", "manzanas", "fresas", "piñas", "cerezas"];
trace(fruits_array.join());
fruits_array.sort();
trace(fruits_array.join());
fruits_array.sort(Array.DESCENDING);
trace(fruits_array.join());
El panel Salida muestra el resultado siguiente:
naranjas,manzanas,fresas,piñas,cerezas // matriz original
cerezas,fresas,manzanas,naranjas,piñas // clasificación predeterminada
piñas,naranjas,manzanas,fresas,cerezas // orden descendente
Sintaxis 2: en el ejemplo siguiente se utiliza Array.sort() con una función de comparación.
var passwords = ["mom:glam", "ana:ring", "jay:mag", "anne:home", "regina:silly"];
function ordenar(a, b) {
//Las entradas que deben ordenarse tienen el formato nombre:contraseña
//Se ordenan utilizando solamente las palabras que se encuentran despues del caracter ":"
var name1 = a.split(":")[1];
var name2 = b.split(":")[1];
if (name1
return -1;
} else if (name1>name2) {
return 1;
} else {
return 0;
}
}
trace("Sin Ordenar:");
trace(passwords.join());
passwords.sort(ordenar);
trace("Ordenado:");
trace(passwords.join());
El panel Salida muestra el resultado siguiente:
Sin Ordenar:
mom:glam, ana:ring, jay:mag, anne:home, regina:silly
Ordenado:
mom:glam, anne:home, jay:mag, ana:ring, regina:silly
Véase también
Array.sortOn()
No hay comentarios:
Publicar un comentario
Comentar esta entrada