Как сделать следующие действия с массивом (сортировка)?
Здравствуйте. Подскажите, пожалуйста, как правильно сделать следующую сортировку:
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, время: 05:30. |