2017-11-29 22 views
1

与えられた配列に比例して分配された与えられた数の結果の比率値を計算しようとしています。配列の長さはランダムになります。例えばJavascript:与えられた値から配列比率を計算します

var arr = [45,23,7] 
function array(arr){ 
    var share = 3250.00 
    // logic to share the array 
    return array 
} 

私はこれまで最善のアプローチは、複雑な正規化に実行せずに

+2

OK。今あなたの質問は何ですか? – Bergi

+1

質問は明確ではありません - 配列の割合はどういう意味ですか? plsはあなたが何をする必要があるかを明確にします –

+0

それはほとんどの人を批判する答えのないものです。 –

答えて

3

何これが何をすべき、私はMath.sumもMath.rationでもないがあると知って、配信権を取得するように見えることはできません私は、引数に株式価値勃発しました

var arr = [45,23,7]; 

function ration(arr, share){ 
    var total = arr.reduce(function(x, y) { 
     return x + y; 
    }); 
    return arr.map(function(x) { 
     return (x/total) * share; 
    }); 
} 

var rationedArr = ration(arr, 3250.00); 

:トリック、あなたは、アレイの合計の彼らの割合に基づいてarrのメンバーの間で比例share値を配布しようとしていると仮定関数の柔軟性を高め、関数rationの名前をarrayと呼ぶのが悪い考えだからです。

+2

ニース+1。私はまだ 'Math.sum'やそれに相当する関数がないことはばかげていることがわかります。 – fubar

+1

うわー!ちょうどうわー!あなたを雇わせてください... –

関連する問題