Sum Ticket A to B

by Aides

HTML

<p>From :</p>
<select id="from">
  <option>A</option>
  <option>B</option>
  <option>C</option>
  <option>D</option>
</select>
<p>To :</p>
<select id="to">
  <option>A</option>
  <option>B</option>
  <option>C</option>
  <option>D</option>
</select>
<button type="button" onclick="output();">Calculate</button>
<br>
<p id="result"></p>

<script type="text/javascript">
  var result = document.getElementById('result');

  var prices = [{
    name: 'A',
    price: 2000
  }, {
    name: 'B',
    price: 5000
  }, {
    name: 'C',
    price: 3000
  }, {
    name: 'D',
    price: 10000
  }];

  function output() {
    var sour = document.getElementById("from");
    var dest = document.getElementById("to");
    var price = 0;

    nameMap = prices.map(function(element) {
      return element.name
    });
    
    var sourIndex = nameMap.indexOf(sour[sour.selectedIndex].text);
    var destIndex = nameMap.indexOf(dest[dest.selectedIndex].text);

		if(sourIndex < destIndex)
    {
      for (var x = sourIndex; x < destIndex; x++) {
        price += prices[x].price;
      }
    }
    else if(sourIndex > destIndex)
    {
    	for(var x = sourIndex; x < prices.length; x++)
      {
      	price += prices[x].price;
      }
      for(var x = 0; x < destIndex; x++)
      {
      	price += prices[x].price;
      }
    }
    
    result.innerHTML = price;
    console.log(price);
  }

</script>