很难对这篇文章进行标题,我会尽量尽快阐明问题。
我正在构建一个程序,该程序应该分配以特定顺序删除节点的旅程的成本。
首先它声明访问目标节点的order
(不包括原点)[2,1]
接下来,声明legs
的距离。在这种情况下,行程支路为1000和500.因此,从原点 - > 2和500米行驶需要1000米才能从2> 1行驶。然后程序构建目的地=>的关联数组fares
。应支付的价格(现在设为0)
我现在正在努力使用for循环将适当的值添加到fares数组中。我需要一种公平的方式将成本分配给适当的节点;
在这种情况下,节点2将支付第一条腿的一半(500)。
节点1将支付第一条腿的一半(500)并且完全支付第二条腿的全价(500)= 1000。
我一直在努力解决如何解决这个问题但是很挣扎,任何建议都值得赞赏。 P.S:该程序应该能够处理超过2个节点/腿。
当前代码:https://jsfiddle.net/hotkeying/uub9g972/3/
//order of destinations
order = [2,1]
fares = {}
price = 15
total = 1500;
PricePerMetre = price/total
legs = [1000, 500]
//builds the associative array
for (i=0; i<Order.length; i++){
fares[Order[i]]=0;
}
//not working
for (i=0; i < Order.length; i++){
fares[Order[i]] = legs[i]/Order.length * PricePerMetre
console.log(fares);
}