Я попытался создать очень простую пользовательскую функцию сортировки, которая сортирует в соответствии с вашей спецификацией
По сути, вы можете отсортировать список чисел, например arr.sort((a,b) => parseInt(a) - parseInt(b))
.Но здесь проблема в том, что parseInt вычитает число, так как 9864-3
приведет к 9861, а затем вычитает следующее число и выдает результат.
В любом случае, пользовательская функция:
data = ["0935-4", "0935-4", "0935-2", "4738-1", "9864-3"];
customSort(data) {
let arr = [];
data.map(c => {
let index = c.indexOf('-');
let d = c.split('');
d.splice(index, 1);
arr.push(d.join(''))
})
arr.sort((a,b) => parseInt(a) - parseInt(b))// ascending
// arr.sort((a,b) => parseInt(b) - parseInt(a)) descending
let temp2 = [];
arr.map(val => {
temp2.push(val.slice(0, 4) + "-" + val.slice(4));
})
this.data = [...temp2];
console.log(this.data)
}
Надеюсь, что это может помочь вам или дать вам идею сделать это самостоятельно