ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScript で数値配列の中央値を取得する方法 (2 つの方法)

JavaScript で数値配列の中央値を取得する方法 (2 つの方法)

藏色散人
藏色散人オリジナル
2021-08-25 10:49:357120ブラウズ

この記事では、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] になります。配列の長さが奇数の場合、中央値が中央の要素になります。

結果は次のとおりです:

JavaScript で数値配列の中央値を取得する方法 (2 つの方法)

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>

出力結果:

JavaScript で数値配列の中央値を取得する方法 (2 つの方法)

ここでは、まず、配列の長さが奇数であるか偶数であるかに関係なく、中間の値を持つ変数 middle を作成します。次に、突然変異を回避して配列を並べ替えます。ミューテーションとは、オブジェクト名を別のオブジェクト名に変更したり、オブジェクトを別のオブジェクトに渡したりすることをミューテーションといいます。

これは配列やオブジェクトである参照データ型を使用して実行できるため、現時点ではこれを避けてください。その後、配列の長さが偶数であれば、配列の pos arr((arr.length)/2) arr(((arr.length)/2) 1) に 2 つの値があります。次に、これら 2 つの数値の平均をとり、それを中央値として返します。

最後に、「JavaScript Basics Tutorial」をお勧めします ~皆さんもぜひ学んでください~

以上がJavaScript で数値配列の中央値を取得する方法 (2 つの方法)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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