Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 20.02.2019, 19:04
Аспирант
Отправить личное сообщение для 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 больше или равно 38 получить следующую структуру:
const arr1 = {
  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"}},
  ]
};

const arr2 = {
  list: [
    {id: 5, pos: {dv: "T45"}},
    {id: 6, pos: {dv: "T56"}}
  ]
};
Ответить с цитированием
  #2 (permalink)  
Старый 20.02.2019, 20:01
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,103

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, "")
}
const T = 38;
const arr2 = {list : []};
arr.list.reduceRight((a,b,i,c) => {if(getNum(b.pos.dv) >= T) {c.splice(i,1);a.unshift(b);
} ;return a},  arr2.list)
console.log(arr2)
Ответить с цитированием
  #3 (permalink)  
Старый 21.02.2019, 19:14
Аспирант
Отправить личное сообщение для gsdev99 Посмотреть профиль Найти все сообщения от gsdev99
 
Регистрация: 03.02.2019
Сообщений: 72

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



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как правильно сделать поиск по массиву? gsdev99 Элементы интерфейса 4 12.02.2019 16:51
Как правильно добавить/удалить элемент в массив (из массива)? gsdev99 Элементы интерфейса 2 12.02.2019 12:15
Константный массив, как приватное поле класса AndreyMG Общие вопросы Javascript 1 13.05.2016 19:54
Json и как его правильно кушать (Help plz!) JohnyVoo Angular.js 2 04.05.2016 19:55
Как правильно очистить maxlength в input? Маэстро Events/DOM/Window 10 22.06.2011 18:14