ホームページ > 記事 > ウェブフロントエンド > JavaScript で数値配列の中央値を取得する方法 (2 つの方法)
この記事では、JavaScript を使用して数値配列の中央値を取得する方法を紹介します。中央値は中央値とも呼ばれ、統計学では適切な用語です。詳細については、読み続けてください~
まず中央値の基本的な概念を紹介しましょう:
中央値は、サンプルまたは母集団を表す、順序どおりに配置された一連のデータの中央にある数値、または確率分布の値です。一連の値を上部と下部の等しい部分に分割します。有限の数値セットの場合、すべての観測値を並べ替えて、中央値を中央値として見つけることができます。観測値が偶数の場合、通常は中央の 2 つの値の平均が中央値となります。
中央値の計算式は次のとおりです。
ここで、m0.5 は中央値を指します。
中央値について簡単に理解した後、今日のトピックを始めたいと思います:
JavaScript を使用して配列の中央値を見つける!
最初のメソッド:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <title></title> <script> function medianof2Arr(arr1) { var concat = arr1; concat = concat.sort( function (a, b) { return a - b }); console.log(concat); var length = concat.length; if (length % 2 == 1) { // 如果长度是奇数 console.log(concat[(length / 2) - .5]) return concat[(length / 2) - .5] } else { console.log((concat[length / 2] + concat[(length / 2) - 1]) / 2); return (concat[length / 2] + concat[(length / 2) - 1]) / 2; } } arr1 = [1, 4, 7, 9] medianof2Arr(arr1) </script> </head> <body> </body> </html>
上記のコードでは、まず配列が並べ替えられ、次に配列の長さが検出されます。配列の長さが偶数の場合、中央値は arr[(arr.length)/2] arr[((arr.length)/2) 1] になります。配列の長さが奇数の場合、中央値が中央の要素になります。
結果は次のとおりです:
2 番目のメソッド:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <title></title> <script> function median_of_arr(arr) { const middle = (arr.length + 1) / 2; // 避免在排序时发生变异 const sorted = [...arr].sort((a, b) => a - b); const isEven = sorted.length % 2 === 0; return isEven ? (sorted[middle - 1.5] + sorted[middle - 0.5]) / 2 : sorted[middle - 1]; } var arr = [1, 4, 7, 9]; console.log(median_of_arr(arr)); </script> </head> <body> </body> </html>
出力結果:
ここでは、まず、配列の長さが奇数であるか偶数であるかに関係なく、中間の値を持つ変数 middle を作成します。次に、突然変異を回避して配列を並べ替えます。ミューテーションとは、オブジェクト名を別のオブジェクト名に変更したり、オブジェクトを別のオブジェクトに渡したりすることをミューテーションといいます。
これは配列やオブジェクトである参照データ型を使用して実行できるため、現時点ではこれを避けてください。その後、配列の長さが偶数であれば、配列の pos arr((arr.length)/2) arr(((arr.length)/2) 1) に 2 つの値があります。次に、これら 2 つの数値の平均をとり、それを中央値として返します。
最後に、「JavaScript Basics Tutorial」をお勧めします ~皆さんもぜひ学んでください~
以上がJavaScript で数値配列の中央値を取得する方法 (2 つの方法)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。