Изменение индексов в массиве по группам в строках таблицы

У меня проблема с изменением индексов в массиве по группе. Я хочу изменить индекс, но только эти элементы с определенной группой. Теперь мой код работает, но меняют индексы во всем массиве. Это мой код:

function moveRow (arr, old_index, new_index) {


    arr.splice(new_index, 0, arr.splice(old_index, 1)[0]);
    return arr;

}

И это мой макет db-массива:

 export const dbProductGroupsParameter: ProductGroupParameter[] = [
  {
    id: '1',
    name: 'Produkt 1',
    code: 'sdadas',
    description: 'Opis 1',
    position: 1,
    group: 1,
  },
  {
    id: '2',
    name: 'Produkt 2',
    code: 'sdadas2',
    description: 'Opis 2',
    position: 2,
    group: 1,
  },
  {
    id: '3',
    name: 'Produkt 3',
    code: 'sdadas3',
    description: 'Opis 3',
    position: 3,
    group: 1,

  },
  {
    id: '4',
    name: 'Produkt 4',
    code: 'sdadas4',
    description: 'Opis 4',
    position: 1,
    group: 2,

  },
  {
    id: '5',
    name: 'Produkt 5',
    code: 'sdadas5',
    description: 'Opis 5',
    position: 2,
    group: 2,

  },
  {
    id: '6',
    name: 'Produkt 1.1',
    code: 'sdadas3265444',
    description: 'Kolejny Opis 1.1',
    position: 1,
    group: 3,
  },
  {
    id: '7',
    name: 'Produkt 1.1',
    code: 'sdadas3265444',
    description: 'Kolejny Opis 1.1',
    position: 2,
    group: 3,
  }
]

Я использую этот массив в строках таблицы, а товары группирую. Например, я хочу изменить индекс только в группе товаров 2. Заранее спасибо за вашу помощь

Какой тип параметра arr?

Noor A Shuvo 15.10.2018 12:28

Извините, я забыл об этом. arr - это dbProductGroupsParameter. Мне это нужно для подделки работы API

Bartas 15.10.2018 12:31

Так как же сравнить if (new_index >= arr)?

Noor A Shuvo 15.10.2018 12:36

ты прав, это просто остаток предыдущего кода. Я поправлю

Bartas 15.10.2018 12:55
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
4
38
0

Другие вопросы по теме