Sobes.tech
Middle

Kezelted már azt a helyzetet, amikor az indexOf -1-et ad vissza removeItem használatakor?

sobes.tech MI

Válasz az MI-től

Да, сталкивался с ситуацией, когда 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, элемент не найден, ничего не делаем
}

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