2016-12-06 127 views
0

的。如果我有這樣的數組:緊湊型系列數據

[ 0.8, 2, 3.33, 60, 98.6 ] 

什麼樣的功能(在JavaScript)我可以寫,使價值緊密聯繫起來,但其規模?所以最小的纈沙坦仍然是最小的,最大的仍然是最大的,他們會更接近?

基本上這些vals中的每一個都是圖表上氣泡的半徑,我幾乎看不到那些小的。我想讓小的比例變大,大比例變小。

+2

更接近什麼?到最小值,最大值還是平均值? – gyre

+0

我想基本上只是讓它的範圍較小,但他們仍然在某種程度上相關的其他 – georgej

+1

請添加想得到的結果。 –

回答

1

它看起來像你試圖使每個值接近平均水平。 使用的Array#mapArray#reduce的組合是這樣的:

var array = [ 0.8, 2, 3.33, 60, 98.6 ] 
var average = array.reduce(function (a, b) { 
    return a + b 
})/array.length 
var result = array.map(function (x) { 
    return (x - average)/2 + average 
}) //=> [16.873, 17.473, 18.138, 46.473, 65.773 ] 

基本上,這個代碼計算您的數組的平均值,然後將每個值映射,以便它是該平均距離的一半。

+0

我很抱歉,我想我不是隻看到減少範圍 - 我已經添加更多信息給我的問題,以進一步闡明它 – georgej

+0

作品,謝謝! – georgej