這篇文章給大家分享的是有關(guān)JavaScript怎么獲取數(shù)字?jǐn)?shù)組的中位數(shù)的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
創(chuàng)新互聯(lián)是一家專注于成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作、外貿(mào)營銷網(wǎng)站建設(shè)與策劃設(shè)計(jì),瑞麗網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)十載,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:瑞麗等地區(qū)。瑞麗做網(wǎng)站價格咨詢:18982081108
中位數(shù)是按順序排列的一組數(shù)據(jù)中居于中間位置的數(shù),代表一個樣本、種群或概率分布中的一個數(shù)值,其可將數(shù)值集合劃分為相等的上下兩部分。對于有限的數(shù)集,可以通過把所有觀察值高低排序后找出正中間的一個作為中位數(shù)。如果觀察值有偶數(shù)個,通常取最中間的兩個數(shù)值的平均數(shù)作為中位數(shù)。
計(jì)算中位數(shù)的公式如下:
其中m0.5就是指中位數(shù)。
在簡單了解中位數(shù)之后,我們要開始今天的主題內(nèi)容:
使用 JavaScript 查找數(shù)組的中位數(shù)!
第一種方法:
<!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) { // 如果長度是奇數(shù) 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>
上述代碼中先對數(shù)組進(jìn)行排序,再求數(shù)組長度。如果數(shù)組長度是偶數(shù),那么中位數(shù)將為 arr[(arr.length)/2] +arr[((arr.length)/2)+1]。如果數(shù)組長度為奇數(shù),則中位數(shù)將是中間元素。
結(jié)果如下:
第二種方法:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <title></title> <script> function median_of_arr(arr) { const middle = (arr.length + 1) / 2; // 避免在排序時發(fā)生變異 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>
輸出結(jié)果:
這里我們首先創(chuàng)建了變量middle,無論數(shù)組長度是奇數(shù)還是偶數(shù),它都具有中間值,而與長度無關(guān)?,F(xiàn)在,我們通過避免突變對數(shù)組進(jìn)行排序。變異是指用另一個對象名稱更改對象名稱或?qū)ο髠鬟f給另一個稱為變異的對象。
這是可以做到的引用數(shù)據(jù)類型的是數(shù)組, 對象所以現(xiàn)在避免這種情況。之后,如果數(shù)組的長度是偶數(shù),那么我們在 pos arr((arr.length)/2) + arr(((arr.length)/2) +1) 處有數(shù)組中的兩個值。然后取這兩個數(shù)字的平均值并作為中位數(shù)返回。
感謝各位的閱讀!關(guān)于“JavaScript怎么獲取數(shù)字?jǐn)?shù)組的中位數(shù)”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
網(wǎng)頁名稱:JavaScript怎么獲取數(shù)字?jǐn)?shù)組的中位數(shù)
網(wǎng)站地址:http://muchs.cn/article6/gechig.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站、網(wǎng)站策劃、標(biāo)簽優(yōu)化、云服務(wù)器、網(wǎng)站排名、網(wǎng)站內(nèi)鏈
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)