Sobes.tech
Back to questions
Middle
2

Обработал ли ты ситуацию, когда indexOf возвращает -1 при использовании в removeItem?

Companies where asked
Киберпротект

Answer from AI

sobes.tech AI

Да, сталкивался с ситуацией, когда indexOf возвращает -1 при попытке удалить элемент из массива.

Если использовать indexOf для поиска индекса элемента, а затем вызвать splice без проверки, можно случайно удалить последний элемент массива, так как array.splice(-1, 1) удалит последний элемент.

Правильный подход — всегда проверять результат indexOf перед удалением:

function removeItem(array, item) {
  const index = array.indexOf(item);
  if (index !== -1) {
    array.splice(index, 1);
  }
  // Если index === -1, элемент не найден, ничего не делаем
}

Это предотвращает нежелательные изменения массива и ошибки в логике.