[解決済み] Javascriptのsort()はどのように動作するのですか?
2022-05-15 10:09:48
質問
次のコードは、この配列をどのように数値順に並べるのでしょうか?
var array=[25, 8, 7, 41]
array.sort(function(a,b){
return a - b
})
計算結果が...ならわかるけど
0より小さい
: "a"は"b"よりも低いインデックスになるようにソートされています。
ゼロです。
"a"と"b"は等しいとみなされ、ソートは実行されません。
0より大きい。
"b" は "a" よりも低いインデックスになるようにソートされています。
配列ソートのコールバック関数は、ソート中に何度も呼び出されるのでしょうか?
もしそうなら、どの2つの数字が毎回関数に渡されるのか知りたいです。私は、最初に "25"(a) と "8"(b) を取り、次に "7"(a) と "41"(b) を取ると仮定したので、。
25(a) - 8(b) = 17 (0より大きいので、"b" が "a" より低いインデックスになるようにソートします)。8, 25
7(a) - 41(b) = -34 (ゼロより小さいので、"a" が "b" よりも低いインデックスになるように並べ替える: 7, 41)
それでは、2つの数値の組は、互いにどのようにソートされているのでしょうか。
悩める初心者を助けてください
どのように解決するのですか?
<ブロッククオート配列ソートのコールバック関数は、ソート中に何度も呼び出されるのでしょうか?
はい
<ブロッククオートもしそうなら、どの 2 つの数値が毎回関数に渡されるのかを知りたいのですが
で自分で調べればいいのでは?
array.sort((a,b) => {
console.log(`comparing ${a},${b}`);
return a > b ? 1
: a === b ? 0
: -1;
});
EDIT
これは私が得た出力です。
25,8
25,7
8,7
25,41
関連
-
[解決済み] 配列から特定の項目を削除するにはどうすればよいですか?
-
[解決済み] jQueryで要素が非表示になっているかどうかを確認するには?
-
[解決済み] JavaScriptで "use strict "は何をするのか、その根拠は?
-
[解決済み] JavaScriptで文字列が部分文字列を含むかどうかを確認する方法は?
-
[解決済み] 山積みされた靴下を効率よく組み合わせるには?
-
[解決済み] 辞書を値で並べ替えるにはどうしたらいいですか?
-
[解決済み】別のウェブページにリダイレクトするにはどうすればいいですか?
-
[解決済み】オブジェクトの配列を文字列のプロパティ値でソートする
-
[解決済み] JavaScript 予期せぬ事態に対する可能な反復処理
-
[解決済み] マウスオーバー時のマウスカーソルをアンカーのようなスタイルに変更する
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 配列からオブジェクトを生成する
-
[解決済み] express.json()とexpress.urlencoded()とは何ですか?
-
[解決済み] Angular 2 パスが存在しない場合に404や他のパスにリダイレクトする方法 [重複]について
-
[解決済み] ドット記法の文字列を使用してオブジェクトの子プロパティにアクセスする [重複].
-
[解決済み] node.js シェルコマンドの実行
-
[解決済み] JavaScriptでクエリ文字列が存在するかどうかを確認するには?
-
[解決済み] Javascriptのsort()はどのように動作するのですか?
-
[解決済み] Javascript/jQuery。複数選択で値を設定(選択)する
-
[解決済み] Math.random()を呼び出す関数は純粋か?
-
[解決済み] react-hooksによるステート更新時の非同期コードの実行