Вы можете использовать Array.sort
метод для сортировки массива. Функция сортировки, которая рассматривает длину строки в качестве критерия сортировки, может использоваться следующим образом:
arr.sort(function(a, b){
return b.length - a.length;
});
Примечание: сортировка ["a", "b", "c"]
по длине строки не гарантирует возврата ["a", "b", "c"]
. Согласно спецификациям :
Сортировка не обязательно является стабильной (то есть элементы, которые сравниваются как равные, не обязательно остаются в исходном порядке).
Если целью является сортировка по длине, то по порядку словаря необходимо указать дополнительные критерии:
["c", "a", "b"].sort(function(a, b) {
return a.length - b.length ||
a.localeCompare(b);
});
sort
довольно прямолинейно, где у вас проблемы?