@lexstile

Самый быстрый способ удаления элемента (объекта) из массива?

Есть массив объектов:
const array = [
  {
    id: 1,
  },
  {
    id: 2,
  },
  {
    id: 3,
  },
  // ...........
];

Нам нужно удалить один элемент, зная его id, и вернуть массив объектов уже без этого элемента (id - уникален, совпадений не будет).
Можно использовать filter, но тогда он проверит каждый элемент на соответствие, следовательно - это избыточно.
Можно как-то оптимизировать процесс? (если массив будет из 1000 элементов, а нужный нам элемент первым - логично было бы использовать одну проверку, с использованием того же find)
  • Вопрос задан
  • 574 просмотра
Решения вопроса 1
sergiks
@sergiks Куратор тега JavaScript
♬♬
Старый добрый for ?
И break, когда нашли.

Ну или
findIndex()

const delById = (arr, id) => {
  const i = arr.findIndex(el => el.id === id);
  if (-1 === i) return arr;
  arr.splice(i, 1);
  return arr;
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы