คุณสามารถใช้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ค่อนข้างตรงไปตรงมาคุณมีปัญหาตรงไหน?