Diviser un nombre en parts proportionnelles (prorata) avec JavaScript

"numProrata" est une fonction JavaScript qui permet de diviser un nombre en plusieurs parties. La distribution se fait proportionnellement par rapport à des bases de référence.

function numProrata(a, b) {
  a = Number(a);
  var t = 0, i, j, o = {};
  for (i = 0, j = b.length; i < j; i++) {
    b[i] = Number(b[i]);
    t = t + b[i];
  }
  for (i = 0, j = b.length; i < j; i++) {
    o[b[i]] = b[i] / (t / a);
  }
  return o;
}

Son utilisation est relativement simple, elle prend en arguments deux paramètres :

  1. Le nombre à diviser
  2. La liste de nombres servant de bases de référence

Elle renvoie un objet JavaScript ayant pour clés les nombres de référence dont la valeur correspond à la distribution proportionnée du nombre divisé.

Exemple d'utilisation de "numProrata"

Pour l'exemple, admettons qu'une prime de 3000 € peut être distribuée à deux personnes dont les salaires sont de 1500 € et 3000 €. Cette prime distribuée au prorata permet de donner respectivement 1000 € à la première personne et 2000 € à la seconde personne.

On passe la prime à distribuer en premier argument de "numProrata", et la liste des salaires de références en second argument. Ce qui donne :

numProrata(3000, [1500, 3000]);

// renvoie : {1500: 1000, 3000: 2000}

Cet article vous a-t-il été utile ?

Super :)
Merci d'avoir donné votre avis !

Oups :(
Merci d'avoir donné votre avis qui va nous permettre de nous améliorer !

^