Skip to content

Instantly share code, notes, and snippets.

@MartinN3
Created April 8, 2019 11:38
Show Gist options
  • Save MartinN3/2b4309e156422e2daf342d37ec59c35c to your computer and use it in GitHub Desktop.
Save MartinN3/2b4309e156422e2daf342d37ec59c35c to your computer and use it in GitHub Desktop.
const makesOrder = ['32', "1", '2', '31', '26']
const makesList = [
{
"id": "0",
"name": "Santana"
},
{
"id": "1",
"name": "Audi"
},
{
"id": "2",
"name": "Volkswagen"
},
{
"id": "3",
"name": "Alfa Romeo"
},
{
"id": "4",
"name": "BMW"
},
{
"id": "5",
"name": "Chrysler"
},
{
"id": "6",
"name": "Citroen"
},
{
"id": "7",
"name": "Daewoo"
},
{
"id": "8",
"name": "Daihatsu"
},
{
"id": "9",
"name": "Fiat"
},
{
"id": "10",
"name": "Ford"
},
{
"id": "11",
"name": "Fuji Heavy"
},
{
"id": "13",
"name": "Honda"
},
{
"id": "14",
"name": "Hyundai"
},
{
"id": "15",
"name": "Isuzu"
},
{
"id": "16",
"name": "Jaguar"
},
{
"id": "17",
"name": "Kia Motors"
},
{
"id": "18",
"name": "Lancia"
},
{
"id": "19",
"name": "Mazda"
},
{
"id": "20",
"name": "MCC"
},
{
"id": "21",
"name": "Mercedes-Benz"
},
{
"id": "22",
"name": "Mitsubishi"
},
{
"id": "23",
"name": "Nissan"
},
{
"id": "24",
"name": "Opel"
},
{
"id": "25",
"name": "Peugeot"
},
{
"id": "26",
"name": "Porsche"
},
{
"id": "27",
"name": "Proton"
},
{
"id": "28",
"name": "Renault"
},
{
"id": "29",
"name": "Rover"
},
{
"id": "30",
"name": "Saab"
},
{
"id": "31",
"name": "SEAT"
},
{
"id": "32",
"name": "ŠKODA"
},
{
"id": "33",
"name": "Ssang Yong"
},
{
"id": "34",
"name": "Subaru"
},
{
"id": "35",
"name": "Suzuki"
},
{
"id": "36",
"name": "Toyota"
},
{
"id": "37",
"name": "Trabant"
},
{
"id": "38",
"name": "Volvo"
},
{
"id": "39",
"name": "Asia"
},
{
"id": "40",
"name": "Buick"
},
{
"id": "41",
"name": "Cadillac"
},
{
"id": "42",
"name": "Chevrolet"
},
{
"id": "43",
"name": "DAF"
},
{
"id": "44",
"name": "Dodge"
},
{
"id": "45",
"name": "Eagle"
},
{
"id": "46",
"name": "Ferrari"
},
{
"id": "47",
"name": "FSO"
},
{
"id": "48",
"name": "GAZ"
},
{
"id": "49",
"name": "Iveco"
},
{
"id": "50",
"name": "Jeep"
},
{
"id": "51",
"name": "Lamborghini"
},
{
"id": "53",
"name": "Lexus"
},
{
"id": "54",
"name": "Lincoln"
},
{
"id": "55",
"name": "Oldsmobile"
},
{
"id": "56",
"name": "Piaggio"
},
{
"id": "57",
"name": "Plymouth"
},
{
"id": "58",
"name": "Pontiac"
},
{
"id": "59",
"name": "Rolls Royce"
},
{
"id": "60",
"name": "Smart"
},
{
"id": "62",
"name": "Tatra"
},
{
"id": "63",
"name": "VAZ"
},
{
"id": "64",
"name": "ZAZ"
},
{
"id": "65",
"name": "Geo"
},
{
"id": "66",
"name": "GMC"
},
{
"id": "67",
"name": "LDV"
},
{
"id": "68",
"name": "Mekong"
},
{
"id": "69",
"name": "Microcar"
},
{
"id": "70",
"name": "Hummer"
},
{
"id": "71",
"name": "Saturn"
},
{
"id": "72",
"name": "MTX"
},
{
"id": "73",
"name": "Land Rover"
},
{
"id": "74",
"name": "Barkas"
},
{
"id": "75",
"name": "Matra"
},
{
"id": "76",
"name": "Austin"
},
{
"id": "77",
"name": "Wartburg"
},
{
"id": "78",
"name": "Talbot"
},
{
"id": "79",
"name": "Bertone"
},
{
"id": "80",
"name": "Avia"
},
{
"id": "81",
"name": "Multicar"
},
{
"id": "82",
"name": "Dacia"
},
{
"id": "83",
"name": "Palfinger"
},
{
"id": "84",
"name": "Beskydsport"
},
{
"id": "85",
"name": "Liaz"
},
{
"id": "86",
"name": "Desta"
},
{
"id": "87",
"name": "Magma"
},
{
"id": "88",
"name": "TAZ"
},
{
"id": "89",
"name": "Praga"
},
{
"id": "90",
"name": "Kawasaki"
},
{
"id": "91",
"name": "VAPP"
},
{
"id": "92",
"name": "KNP"
},
{
"id": "93",
"name": "Oltcit"
},
{
"id": "94",
"name": "Mini"
},
{
"id": "95",
"name": "Maserati"
},
{
"id": "96",
"name": "Yamaha"
},
{
"id": "98",
"name": "Moskvič"
},
{
"id": "99",
"name": "Zetor"
},
{
"id": "100",
"name": "Yugo"
},
{
"id": "101",
"name": "Man"
},
{
"id": "102",
"name": "Yuki"
},
{
"id": "103",
"name": "Agados"
},
{
"id": "104",
"name": "Bentley"
},
{
"id": "105",
"name": "Hero Puch"
},
{
"id": "106",
"name": "Triumph"
},
{
"id": "107",
"name": "Aprilia"
},
{
"id": "108",
"name": "KTM"
},
{
"id": "109",
"name": "Polini"
},
{
"id": "110",
"name": "Karosa"
},
{
"id": "111",
"name": "Bombardier"
},
{
"id": "112",
"name": "Maro"
},
{
"id": "113",
"name": "Pento"
},
{
"id": "114",
"name": "JDM"
},
{
"id": "115",
"name": "Cagiva"
},
{
"id": "116",
"name": "UAZ"
},
{
"id": "117",
"name": "Infiniti"
},
{
"id": "118",
"name": "Moto Guzzi"
},
{
"id": "119",
"name": "Harley-Davidson"
},
{
"id": "120",
"name": "Volha"
},
{
"id": "121",
"name": "přívěs"
},
{
"id": "122",
"name": "Dinli"
},
{
"id": "123",
"name": "Knaus"
},
{
"id": "124",
"name": "Adamoto"
},
{
"id": "125",
"name": "Kentoya"
},
{
"id": "126",
"name": "ARO"
},
{
"id": "127",
"name": "Aston Martin"
},
{
"id": "128",
"name": "Vezeko"
},
{
"id": "129",
"name": "Derbi"
},
{
"id": "130",
"name": "Kymco"
},
{
"id": "131",
"name": "Lada"
},
{
"id": "132",
"name": "Shuanghuan"
},
{
"id": "133",
"name": "TREND"
},
{
"id": "134",
"name": "CAPIRELLI"
},
{
"id": "135",
"name": "DFM"
},
{
"id": "136",
"name": "Ducati"
},
{
"id": "137",
"name": "Santana"
},
{
"id": "138",
"name": "Schwarzmüller"
},
{
"id": "139",
"name": "G.U.N Trike"
},
{
"id": "140",
"name": "Adly Moto"
},
{
"id": "141",
"name": "Lotus"
},
{
"id": "142",
"name": "Niewiadow"
},
{
"id": "143",
"name": "Tec"
},
{
"id": "144",
"name": "Fort"
},
{
"id": "145",
"name": "JAWA"
},
{
"id": "146",
"name": "Boatian"
},
{
"id": "147",
"name": "Xinyang"
},
{
"id": "148",
"name": "Brilliance"
},
{
"id": "149",
"name": "Gonow"
},
{
"id": "150",
"name": "Zastava"
},
{
"id": "151",
"name": "Aixam"
},
{
"id": "152",
"name": "Capron"
},
{
"id": "153",
"name": "Simca"
},
{
"id": "154",
"name": "Infinity"
},
{
"id": "155",
"name": "Hymer"
},
{
"id": "156",
"name": "PGO"
},
{
"id": "157",
"name": "CF MOTO"
},
{
"id": "158",
"name": "Tesla"
},
{
"id": "159",
"name": "DS"
},
{
"id": "999",
"name": "-"
}
]
const test = makesList.filter(listItem => makesOrder.find(orderItem => orderItem === listItem.id))
let sortedMakesList = makesList
makesList.forEach((item, index) => {
currentItemIndexOf = makesOrder.indexOf(item.id)
//Pick item from its current position
const slicedItem = sortedMakesList.slice(index, index + 1)
//Push item on desired position
if (currentItemIndexOf !== -1) {
sortedMakesList.splice(currentItemIndexOf, 1, slicedItem)
}
})
console.log(sortedMakesList)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment