Задать вопрос
@eugenedrvnk

Адаптировать один метод под разные данные, или делать несколько методов?

Изначально в проекте была необходимость для удаления лишь одного элемента.
Функция для этого выглядела так:
const deleteItem = (id) => {
  ...delete logic...
}


Потом появилась необходимость добавить возможность удаления нескольких элементов сразу и здесь можно сделать по разному.

Сделать в той же функции поддержку множества элементов, но тогда функцию прийдётся переименовывать под множественное число, и предыдущие места использования функции, где удалялся один элемент - так же изменять (делать что бы вместо прокидывания одного айдишника, прокидывался массив с одним айдишником).
const deleteItems = (ids) => {
  ids.forEach((id) => {
    {...delete logic...}
  })
}


Либо же оставить и функцию для удаления единичного элемента, и для множества.
Т.е. вынести логику удаления элемента куда-то ещё и будет как-то так

const handler = (id) => {...delete logic...}

const deleteItem = (id) => handler(id)

const deleteItems = (ids) => {
  ids.forEach((id) => handler(id)
}


Есть какие-то статьи может по правильному именованию переменных/функций? Т.к. в таких ситуациях довольно часто возникают спорные моменты и непонимание как сделать правильнее.
  • Вопрос задан
  • 42 просмотра
Подписаться 1 Простой 1 комментарий
Ответ пользователя Frontend developer К ответам на вопрос (2)
@markak
Frontend developer
Можно сделать, используя метод filter.
const deleteItems = (ids) => {
  arr = arr.filter(item => !ids.some(id => id === item.id));
}
Ответ написан
Комментировать