Berdasarkan jawaban Salman, saya telah menulis sebuah fungsi kecil untuk merangkumnya:
function sortArrayByLength(arr, ascYN) {
arr.sort(function (a, b) { // sort array by length of text
if (ascYN) return a.length - b.length; // ASC -> a - b
else return b.length - a.length; // DESC -> b - a
});
}
kemudian sebut saja dengan
sortArrayByLength( myArray, true );
Perhatikan bahwa sayangnya, fungsi tidak dapat / tidak boleh ditambahkan ke prototipe Array, seperti yang dijelaskan di halaman ini .
Selain itu, ia memodifikasi array yang diteruskan sebagai parameter dan tidak mengembalikan apa pun. Ini akan memaksa duplikasi array dan tidak akan bagus untuk array besar. Jika seseorang memiliki ide yang lebih baik, tolong beri komentar!
sort
cukup lurus ke depan, di mana Anda mengalami kesulitan?