整数配列から最大値と最小値を取得する: 予期しない文字列置換
配列内の最大値と最小値を見つけるタスク整数だけで構成される配列は一見簡単そうに見えます。ただし、お気づきのとおり、ネイティブの sort() メソッドには予期せぬハードルがあります。デフォルトではアルファベット順が優先されるため、数値による並べ替えは予想よりも困難であることがわかります。このハードルを乗り越えて、配列要素内の整数値に注目するように sort() 関数に指示するにはどうすればよいでしょうか?
次の例を考えてみましょう:
var numArray = [140000, 104, 99]; numArray = numArray.sort(); console.log(numArray);
直感的な期待が私たちを導きます。 99、104、140000 の出力が期待されます。しかし、結果は大幅に異なり、104、140000、99 となります。この特有の動作は、sort() メソッドが値を整数ではなく文字列として扱うという本来の傾向に由来しています。
この問題を解決するには、数値を明示的に処理するカスタム ソート関数を導入できます。これを実現する方法は次のとおりです。
var numArray = [140000, 104, 99]; numArray.sort(function(a, b) { return a - b; }); console.log(numArray);
sortNumber(a, b) 関数は、目的の数値並べ替えを効率的に処理します。 b から a を減算すると、正の値は a を右に押し出し、より高い値が並べ替えられた配列の後半に表示されるようになります。逆に、負の値を指定すると交換が促され、小さい値が左側に配置されます。このカスタム ソート関数により、整数の配列を正確にソートし、意図したとおりに最大値と最小値の両方を提供できるようになります。
以上がJavaScript で整数配列を正しくソートして最小値と最大値を見つけるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。