Как сделать следующие действия с массивом (сортировка)?
Здравствуйте. Подскажите, пожалуйста, как правильно сделать следующую сортировку:
const arr = {
list: [
{id: 1, pos: {dv: "T5"}},
{id: 2, pos: {dv: "T10"}},
{id: 3, pos: {dv: "T12"}},
{id: 4, pos: {dv: "T11"}},
{id: 5, pos: {dv: "T45"}},
{id: 6, pos: {dv: "T56"}},
{id: 7, pos: {dv: "T38"}},
{id: 8, pos: {dv: "T-9"}},
{id: 9, pos: {dv: "T0"}}
]
};
Мне необходимо получить следующую структуру: Т.е. мне необходимо отсортировать по увеличении. свойства dv, где в строке T далее число.
const arrM = {
list: [
{id: 8, pos: {dv: "T-9"}},
{id: 9, pos: {dv: "T0"}},
{id: 1, pos: {dv: "T5"}},
{id: 2, pos: {dv: "T10"}},
{id: 4, pos: {dv: "T11"}},
{id: 3, pos: {dv: "T12"}},
{id: 7, pos: {dv: "T38"}},
{id: 5, pos: {dv: "T45"}},
{id: 6, pos: {dv: "T56"}},
]
};
|
gsdev99,
начинайте писать код самостоятельно ...
const arr = {
list: [
{id: 1, pos: {dv: "T5"}},
{id: 2, pos: {dv: "T10"}},
{id: 3, pos: {dv: "T12"}},
{id: 4, pos: {dv: "T11"}},
{id: 5, pos: {dv: "T45"}},
{id: 6, pos: {dv: "T56"}},
{id: 7, pos: {dv: "T38"}},
{id: 8, pos: {dv: "T-9"}},
{id: 9, pos: {dv: "T0"}}
]
};
function getNum(str)
{
return + str.replace(/[^-\d]/g, "")
}
arr.list.sort((a,b) => getNum(a.pos.dv) - getNum(b.pos.dv))
console.log(arr)
|
Спасибо.
|
| Часовой пояс GMT +3, время: 11:54. |