各要素の長さに基づいて配列を並べ替えるにはどうすればいいですか? 質問する

各要素の長さに基づいて配列を並べ替えるにはどうすればいいですか? 質問する

次のような配列があります:

arr = []
arr[0] = "ab"
arr[1] = "abcdefgh"
arr[2] = "abcd"

ソート後、出力配列は次のようになります。

arr[0] = "abcdefgh"
arr[1] = "abcd"
arr[2] = "ab"  

descending各要素の長さ順に並べたいです。

ベストアンサー1

使用できますArray.sort配列をソートするメソッド。コールバック関数は、アイテムの長さをソート基準として使用する必要があります。

// sort ascending - shorter items first
arr.sort((a, b) => a.length - b.length);

// sort descending - longer items first
arr.sort((a, b) => b.length - a.length);

2 つの項目の長さが同じ場合は、追加の条件を指定できます。

// sort by length
// if equal then sort by dictionary order
["c", "a", "b"].sort((a, b) => a.length - b.length || a.localeCompare(b));

おすすめ記事