Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 20.02.2019, 19:02
Аспирант
Отправить личное сообщение для gsdev99 Посмотреть профиль Найти все сообщения от gsdev99
 
Регистрация: 03.02.2019
Сообщений: 72

Как сделать следующие действия с массивом (сортировка)?
Здравствуйте. Подскажите, пожалуйста, как правильно сделать следующую сортировку:
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"}},
  ]
};
Ответить с цитированием
  #2 (permalink)  
Старый 20.02.2019, 19:35
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,121

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)
Ответить с цитированием
  #3 (permalink)  
Старый 20.02.2019, 19:39
Аспирант
Отправить личное сообщение для gsdev99 Посмотреть профиль Найти все сообщения от gsdev99
 
Регистрация: 03.02.2019
Сообщений: 72

Спасибо.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать 2 действия с задержкой swerk Общие вопросы Javascript 3 09.10.2017 13:53
Как объединить 4 одинаковых функции Batyabest Общие вопросы Javascript 2 21.12.2013 22:53
Как сделать калькулятор и с чего начать? A.P. Yellowman Общие вопросы Javascript 3 15.11.2013 21:32
Как сделать реакцию на изменение любого элемента формы. Mik Events/DOM/Window 3 28.07.2011 08:52
Как убрать hover? Либо как сделать стрелки статичными? krusty36 Элементы интерфейса 1 13.07.2011 09:20