Метод Array.prototype.with(), представленный в ES2023, предоставляет способ заменить элемент по конкретному индексу в массиве, возвращая новый массив вместо изменения исходного.
array.with(index, value)
index — позиция элемента для замены (поддерживает отрицательные индексы)value — новое значение для вставки в эту позициюconst original = [1, 2, 3];
const updated = original.with(1, 99);
console.log(updated); // [1, 99, 3]
console.log(original); // [1, 2, 3] — без изменений
Традиционные подходы, такие как прямое присваивание по индексу, изменяют исходный массив:
const arr = [1, 2, 3];
arr[1] = 99; // мутирует arr напрямую
with() — это немутирующая альтернатива — она оставляет исходный массив без изменений и возвращает копию с применённым изменением.
array.with(-1, 99) заменяет последний элементtoSorted() и toReversed()Метод Array.prototype.with() возвращает новый массив и оставляет исходный массив без изменений, что делает его неизменяющей операцией, подходящей для паттернов неизменяемых данных.
Новый — ещё не проверен сообществом
Вы