У меня есть массив объектов, в котором каждый объект имеет табличный ключ, после небольшого количества проб и ошибок (+ stackoverflow) я использовал эту функцию:
sort(function(a, b) {
return a.plate.toLowerCase() > b.plate.toLowerCase() ? a.plate.localeCompare(b.plate): -1;
});
, которая выводит этот порядок.
[ "245/TAE.", "322(1)/SPA", "322(2)/SPA", "322(3)/SPA", "365/SDFA", "365/TRS", "964/ΜΕΝΤ."
, "SG/349(1)"
,"SG/349(3)"
,"SG/PASD."
,"SG/Χ''RAS."
,"SOTRA/Χ''SIMOTSEOY"]
Это несколько жизнеспособный вариант, но мой желаемый результат :
["SOTRA/Χ''IMOTSEOY", "SG/Χ''RAS.", "SG/PASD.", "SG/349(1)"
,"SG/349(3)"
, "245/TAE.", "322(1)/SPA", "322(2)/SPA", "322(3)/SPA", "365/SDFA", "365/TRS.", "964/ΜΕΝΤ."
]
Сначала идет все, что состоит только из букв, затем идет первый символ, за которым следует буква по первому символу, являющемуся числом в порядке возрастания.
Я попробовал несколько вариантов обращения элементов или с помощью регулярного выражения, но это не дало желаемого результата.
Использование Vuejs на передней панели конец, и вот jsfiddle .