Bagaimana untuk mendapatkan median tatasusunan nombor dalam JavaScript (dua kaedah)

藏色散人
Lepaskan: 2021-08-25 10:49:35
asal
7146 orang telah melayarinya

Artikel ini akan memperkenalkan kepada anda cara menggunakan JavaScript untuk mendapatkan median tatasusunan angka Median juga dipanggil median, yang merupakan istilah yang sesuai dalam statistik. Teruskan membaca untuk butiran lanjut~

Marilah kami memperkenalkan kepada anda konsep asas median:

Median ialah nombor di tengah-tengah set data yang disusun mengikut tertib, mewakili sampel atau populasi Atau nilai dalam kebarangkalian pengedaran yang membahagikan satu set nilai kepada bahagian atas dan bawah yang sama. Untuk set nombor terhingga, anda boleh mengisih semua pemerhatian dan mencari yang tengah sebagai median. Sekiranya terdapat bilangan pemerhatian yang genap, purata dua nilai tengah biasanya diambil sebagai median.

Formula untuk mengira median adalah seperti berikut:

Bagaimana untuk mendapatkan median tatasusunan nombor dalam JavaScript (dua kaedah)

di mana m0.5 merujuk kepada median.

Selepas memahami ringkas tentang median, kita akan memulakan topik hari ini:

Cari median tatasusunan menggunakan JavaScript!

Kaedah pertama:

<!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>
Salin selepas log masuk

Dalam kod di atas, tatasusunan diisih dahulu, dan kemudian panjang tatasusunan ialah dijumpai. Jika panjang tatasusunan genap, maka median akan menjadi arr[(arr.length)/2] arr[((arr.length)/2) 1]. Jika panjang tatasusunan adalah ganjil, median akan menjadi elemen tengah.

Hasilnya adalah seperti berikut:

Bagaimana untuk mendapatkan median tatasusunan nombor dalam JavaScript (dua kaedah)

Kaedah kedua:

<!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>
Salin selepas log masuk

Hasil output:

Bagaimana untuk mendapatkan median tatasusunan nombor dalam JavaScript (dua kaedah)

Di sini kita mula-mula mencipta pembolehubah tengah, yang mempunyai nilai perantaraan tidak kira sama ada panjang tatasusunan adalah ganjil atau genap, tanpa mengira panjangnya. Sekarang, kami menyusun tatasusunan dengan mengelakkan mutasi. Mutasi bermaksud menukar nama objek dengan nama objek lain atau memindahkan objek kepada objek lain yang dipanggil mutasi.

Ini boleh dilakukan dengan jenis data rujukan yang merupakan tatasusunan dan objek jadi elakkan perkara ini buat masa ini. Selepas itu, jika panjang tatasusunan adalah genap, maka kita mempunyai dua nilai dalam tatasusunan di pos arr((arr.length)/2) arr(((arr.length)/2) 1) . Purata kedua-dua nombor ini kemudiannya diambil dan dikembalikan sebagai median.

Akhir sekali, saya ingin mengesyorkan "Tutorial Asas JavaScript"~ Selamat datang semua untuk belajar~

Atas ialah kandungan terperinci Bagaimana untuk mendapatkan median tatasusunan nombor dalam JavaScript (dua kaedah). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan