Autcomplete Prioritize Array

Prioritize array results in autocomplete dropdown using the "priority" label and value in array

by Christo Gaybba

HTML

<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<div style="display: block; margin-bottom: 25px;">
<input name="input_1" id="input_1_1" type="text" value="" class="medium ui-autocomplete-input" tabindex="1" aria-invalid="false" autocomplete="off">

<input name="input_2" id="input_1_2" type="text" value class="medium" tabindex="2" aria-invalid="false">
</div>
<div style="display: block;">
<input name="input_3" id="input_1_3" type="text" value="" class="medium ui-autocomplete-input" tabindex="1" aria-invalid="false" autocomplete="off">

<input name="input_4" id="input_1_4" type="text" value class="medium" tabindex="2" aria-invalid="false">
</div>

CSS

input {
  padding: 5px 10px;
  font-size: 16px;
}

.ui-menu {
  max-width: 350px;
  font-family: sans-serif;
  font-size: 12px;
  margin: 0;
  padding: 0;
  background: #FFF;
  border: 1px solid #ccc;
}

.ui-menu li {
  list-style: none;
  padding: 10px;
}

.ui-menu li:hover {
  cursor: pointer;
  background: yellow !important;
}

.ui-menu li:nth-child(even) {
  background: #efefef;
}

.ui-menu li strong.hightlight {
  color: red;
}

.ui-helper-hidden-accessible {
  display: none !important;
}

JavaScript

var airports = [
  // SOUTH AFRICA
  {
    iata: "AGZ",
    city: "Aggeneys",
    airport: "Aggeneys",
    country: "South Africa",
    priority: 6
  }, {
    iata: "ALJ",
    city: "Alexander Bay",
    airport: "Alexander Bay",
    country: "South Africa",
    priority: 6
  }, {
    iata: "ADY",
    city: "Alldays",
    airport: "Alldays",
    country: "South Africa",
    priority: 6
  }, {
    iata: "GSS",
    city: "Belfast",
    airport: "Sabi Sabi",
    country: "South Africa",
    priority: 6
  }, {
    iata: "BFN",
    city: "Bloemfontein",
    airport: "Bram Fischer International",
    country: "South Africa",
    priority: 9
  }, {
    iata: "BIY",
    city: "Bisho",
    airport: "Bisho",
    country: "South Africa",
    priority: 6
  }, {
    iata: "UTE",
    city: "Butterworth",
    airport: "Butterworth",
    country: "South Africa",
    priority: 6
  }, {
    iata: "CPT",
    city: "Cape Town",
    airport: "Cape Town International",
    country: "South Africa",
    priority: 9
  }, {
    iata: "CDO",
    city: "Cradock",
    airport: "Cradock",
    country: "South Africa",
    priority: 6
  }, {
    iata: "DUK",
    city: "Dukuduk",
    airport: "Dukuduk",
    country: "South Africa",
    priority: 6
  }, {
    iata: "DUR",
    city: "Durban",
    airport: "King Shaka International",
    country: "South Africa",
    priority: 9
  }, {
    iata: "VIR",
    city: "Durban",
    airport: "Virginia",
    country: "South Africa",
    priority: 6
  }, {
    iata: "ELS",
    city: "East London",
    airport: "Ben Schoemand",
    country: "South Africa",
    priority: 7
  }, {
    iata: "ELL",
    city: "Ellisras",
    airport: "Ellisras Matimba",
    country: "South Africa",
    priority: 6
  }, {
    iata: "EMG",
    city: "Empangeni",
    airport: "Empangeni",
    country: "South Africa",
    priority: 6
  }, {
    iata: "FCB",
    city: "Ficksburg",
    airport: "Ficksburg Sentra Oes",
    country: "South Africa",
    priority: 6
  }, {
    iata: "GRJ",
...