У меня есть функция, которая добавляет новый подузел внизу основного блока. Мне нужно распределить все блоки равномерно, независимо от того, сколько блоков добавлено, 2/3 или 10. Теперь я вычисляю ширину деления контейнера, вычисляю большинство левых и правых координат, а затем добавляю половину умноженной ширины одного блока на индекс блока, но получаю неправильный результат (на скриншоте). Что я делаю не так? Как добиться равномерного распределения блоков?
Часть моего кода расчета:
const branchWidth = parentElement.width * this.flow[nodeIndex].subNodes.length;
const mostLeft = (branchWidth / 2) * -1;
const mostRight = branchWidth / 2;
this.flow[nodeIndex].subNodes.forEach((node, index) => {
if(index === 0) {
node.initNode.x = mostLeft
} else if (index === this.flow[nodeIndex].subNodes.length - 1) {
node.initNode.x = mostRight
} else {
node.initNode.x = mostLeft + (((branchWidth / (this.flow[nodeIndex].subNodes.length - 2)) * index)/ 2)
}
})
![enter image description here](https://i.stack.imgur.com/F0sZz.jpg)