JSFiddle - React, Tailwind, and code Playground
JavaScript
var items = {
item1: 100,
item2: 0,
item3: 0
};
function distribuir(el, qtd) {
var somaTotal = 0,
nrItems = 0;
for (var este in items) {
if (items[el] != items[este]) {
somaTotal += items[este];
nrItems++;
}
}
for (var este in items) {
if (items[el] != items[este]) {
if (somaTotal == 0) items[este] += qtd / nrItems;
else items[este] += (items[este] || 1) * qtd / somaTotal;
} else items[este] -= qtd;
}
console.log(items);
}
distribuir('item1', 10);