ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript で整数の配列を正しく並べ替えるにはどうすればよいですか?

JavaScript で整数の配列を正しく並べ替えるにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-12-19 11:02:44732ブラウズ

How Do I Correctly Sort an Array of Integers in JavaScript?

整数の配列の並べ替え: アルファベット順を超えて

整数の配列から最高値と最低値を取得しようとすると、次のようになります。予期しない動作が発生しました。sort 関数が要素を文字列として並べ替えているようです。この問題を解決するには、整数値を考慮した並べ替えメカニズムが必要です。

デフォルトの並べ替えについて

デフォルトでは、JavaScript の並べ替えメソッドはアルファベット順の並べ替えを実行します。これは、要素が文字列として比較され、辞書順に並べられることを意味します。整数の場合、実際の値ではなく数値の文字列表現に基づいて比較が行われるため、不正確な結果が生じる可能性があります。

解決策: カスタム数値並べ替え関数

この制限に対処するために、配列要素の整数値の比較に焦点を当てたカスタム並べ替え関数を定義できます。簡単な例を次に示します。

var numArray = [140000, 104, 99];
numArray.sort(function(a, b) {
  return a - b;
});

console.log(numArray);

提供された並べ替え関数 (sortNumber などの名前) は、比較される 2 つの要素を表す 2 つのパラメーター a と b を受け取ります。配列を昇順に並べ替えるには、単に b から a を減算します。結果が正の場合、a は b の後に来る必要があります。負の場合、a は b の前に来る必要があります。

結果

カスタム並べ替え関数を利用することで、正しい結果が得られます:

[99, 104, 140000]

配列要素は、意図したとおり、整数値の昇順で並べ替えられるようになりました。

以上がJavaScript で整数の配列を正しく並べ替えるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。