[解決済み] 整数の配列を正しくソートする方法
2022-03-15 21:14:08
質問
整数だけを含むとわかっている配列から最高値と最低値を取得することは、思ったより難しいようです。
var numArray = [140000, 104, 99];
numArray = numArray.sort();
console.log(numArray)
このように表示されると思います
99, 104, 140000
. 代わりに表示されるのは
104, 140000, 99
. つまり、ソートが値を文字列として扱っているようです。
ソート関数に実際に整数値でソートさせる方法はありますか?
どのように解決するのですか?
デフォルトでは、sortメソッドは要素をアルファベット順にソートします。数値でソートするには、数値ソートを処理する新しいメソッド(sortNumber、以下に示す)を追加するだけです。
var numArray = [140000, 104, 99];
numArray.sort(function(a, b) {
return a - b;
});
console.log(numArray);
ドキュメンテーション
モジラ
Array.prototype.sort()
は、InfinityやNaNを含まない配列に対して、この比較関数を推奨しています。 (なぜなら
Infinity - Infinity
はNaNであって0ではない)。
また、キーでオブジェクトをソートする例もあります。
関連
-
vue ディレクティブ v-html と v-text
-
Vueでルートネスティングを実装する例
-
[解決済み] TypeError: $.ajax(...) is not a function?
-
[解決済み】 env: node: macにそのようなファイルやディレクトリはありません
-
[解決済み] 配列から特定の項目を削除するにはどうすればよいですか?
-
[解決済み] 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 実装 サイバーパンク風ボタン
おすすめ
-
JavaScriptにおけるマクロタスクとミクロタスクの詳細
-
jQueryのコピーオブジェクトの説明
-
Vueの「データを聴く」原則を解説
-
[解決済み】最大呼び出しスタックサイズ超過エラー
-
[解決済み】Node.js getaddrinfo ENOTFOUND
-
[解決済み】Node.js Error: Cannot find module express
-
[解決済み】React - TypeError: 未定義のプロパティ 'props' を読み取ることができない。
-
[解決済み】React Uncaught Error: 対象コンテナが DOM 要素でない [重複]。
-
モジュールのビルドに失敗しました。Error: ENOENT: no such file or directory, scandir 'D:\.... \node_modules
-
JavaScriptのgetElementById、getElementsByTagNam、getElementsByClassNameの違いと使い方