我正在尝试计算在给定数组上按比例分配的给定数字的结果比率值。数组长度是随机的。例如
var arr = [45,23,7]
function array(arr){
var share = 3250.00
// logic to share the array
return array
}
我似乎无法正确分发,我知道既没有Math.sum也没有Math.ration,如果没有遇到复杂的规范化,最好的方法是什么
答案 0 :(得分:3)
假设您尝试根据数组总和的比例在share
成员中按比例分配arr
值,这应该可以解决问题:
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);
我已将共享值分解为参数以使函数更灵活,并重命名函数ration
,因为调用它array
是一个坏主意。