Чтобы удалить элемент из массива неизменяемым способом, обычно необходимо создать новый массив без элемента, который вы хотите удалить. Вот несколько методов, которые вы можете использовать:
-
Метод фильтра. Вы можете использовать метод
filter()для создания нового массива, исключающего элемент, который вы хотите удалить. Этот метод принимает функцию обратного вызова и возвращает новый массив со всеми элементами, которые соответствуют условию, указанному в обратном вызове.const newArray = originalArray.filter(element => element !== elementToRemove); -
Метод Slice: метод
slice()позволяет извлечь часть массива в новый массив. Вы можете использовать его для извлечения элементов до и после элемента, который хотите удалить, фактически исключая его из нового массива.const indexToRemove = originalArray.indexOf(elementToRemove); const newArray = [...originalArray.slice(0, indexToRemove), ...originalArray.slice(indexToRemove + 1)]; -
Оператор распространения: вы можете использовать оператор распространения (
...), чтобы создать новый массив и исключить элемент, который хотите удалить.const newArray = [...originalArray.filter(element => element !== elementToRemove)]; -
Метод Map: Хотя метод
map()в основном используется для преобразования элементов массива, вы также можете использовать его для исключения элемента, который хотите удалить. Однако этот подход менее эффективен, чем предыдущие методы.const newArray = originalArray.map(element => element === elementToRemove ? undefined : element).filter(Boolean);
Эти методы позволяют удалять элементы из массива неизменяемым способом, создавая новые массивы, которые не изменяют исходный.