Javascript: Рассчитать соотношение массива по заданному значению

1

Я пытаюсь вычислить полученное значение отношения для заданного числа, пропорционально распределенного по заданному массиву. Длина массива будет случайной. например

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

Я не могу получить правильное распределение, я знаю, что нет ни Math.sum, ни Math.ration, что лучший подход к этому без использования сложных нормализаций

  • 2
    ХОРОШО. Теперь, каков твой вопрос?
  • 1
    Вопрос не ясен - что такое рацион массива? пожалуйста, уточните, что вам нужно сделать
Показать ещё 1 комментарий
Теги:
arrays

1 ответ

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);

Я отключил значение share в аргументе, чтобы сделать функцию более гибкой и переименовал функцию ration потому что вызов этого array - плохая идея.

  • 2
    Ницца +1. Я до сих пор считаю смешным, что нет Math.sum или эквивалентной функции.
  • 1
    Вау! Просто вау! Позволь мне нанять тебя ...

Ещё вопросы

Сообщество Overcoder
Наверх
Меню