Puede usar el Array.sort
método para ordenar la matriz. Una función de clasificación que considera la longitud de la cadena como criterio de clasificación se puede utilizar de la siguiente manera:
arr.sort(function(a, b){
// ASC -> a.length - b.length
// DESC -> b.length - a.length
return b.length - a.length;
});
Nota: ["a", "b", "c"]
no se garantiza el retorno de la clasificación por longitud de cadena ["a", "b", "c"]
. Según las especificaciones :
El género no es necesariamente estable (es decir, los elementos que se comparan iguales no necesariamente permanecen en su orden original).
Si el objetivo es ordenar por longitud, entonces por orden de diccionario debe especificar criterios adicionales:
["c", "a", "b"].sort(function(a, b) {
return a.length - b.length || // sort by length, if equal then
a.localeCompare(b); // sort by dictionary order
});
sort
es bastante sencillo, ¿dónde tienes dificultades?