[解決済み] 配列の各要素の長さを基準にソートするには?
2022-08-31 05:47:52
質問
このような配列があります。
arr = []
arr[0] = "ab"
arr[1] = "abcdefgh"
arr[2] = "abcd"
ソート後の出力配列は
arr[0] = "abcdefgh"
arr[1] = "abcd"
arr[2] = "ab"
私は
descending
の順で各要素の長さを指定します。
どのように解決するのですか?
あなたは
Array.sort
メソッドを使って配列を並べ替えることができます。文字列の長さをソートの基準とするソート関数は、以下のように使用することができます。
arr.sort(function(a, b){
// ASC -> a.length - b.length
// DESC -> b.length - a.length
return b.length - a.length;
});
注意:ソート
["a", "b", "c"]
を文字列の長さでソートすると
["a", "b", "c"]
. というのは
の仕様では
:
ソートは必ずしも安定ではありません。 は必ずしも元の順序のままとは限りません)。
目的が長さによるソートである場合、辞書順で追加の基準を指定する必要があります。
["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
});
関連
-
[解決済み] 配列から特定の項目を削除するにはどうすればよいですか?
-
[解決済み] jQueryで要素が非表示になっているかどうかを確認するには?
-
[解決済み] 山積みされた靴下を効率よく組み合わせるには?
-
[解決済み] 配列からArrayListを作成する
-
[解決済み] バイトを文字列に変換する
-
[解決済み] 辞書のリストを辞書の値でソートするにはどうしたらいいですか?
-
[解決済み] JavaScriptで配列の先頭に新しい配列要素を追加するにはどうすればよいですか?
-
[解決済み】オブジェクトの配列を文字列のプロパティ値でソートする
-
[解決済み】JavaScriptで2つの配列を結合し、項目の重複を排除する方法
-
[解決済み] Chromeのwebkitインスペクタで「Unsafe JavaScript attempt to access frame with URL...」というエラーが継続的に発生する。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 上級者向けJavaScript。この関数はなぜ括弧でくくられるのですか?重複
-
[解決済み] bootstrap のポップオーバーがすべての要素の上に表示されない
-
[解決済み] JavaScriptで:hoverのCSSプロパティを変更する
-
[解決済み] React js 親コンポーネントから子コンポーネントの状態を変更する
-
[解決済み] 無効になっている入力フィールドの値を送信する
-
[解決済み] Reactメモを使うべきではない場合とは?
-
[解決済み] JavaScriptで長い配列を小さい配列に分割する方法
-
[解決済み] <ng-content>が空かどうかを確認する方法は?(これまでのAngular 2+で)
-
[解決済み] JavaScriptの文字列プリミティブとStringオブジェクトの違いは何ですか?
-
[解決済み] これは純関数ですか?