Инженерный стек

@channel_inzhenernyystek
Фото Сортируйте массивы без скрытых изменений! У JS есть неприятная особенность: sort() изменяет исходный массив. Это легко пропустить, особенно когда массив пришёл из состояния приложения, кеша или аргументов функции. const scores = [30, 10, 20]; const sorted = scores.sort((a, b) => a - b); console.log(scores); // [10, 20, 30]{} Для таких случаев существует toSorted(). Он возвращает новый отсортированный массив, оставляя исходный нетронутым: const scores = [30, 10, 20]; const sorted = scores.toSorted((a, b) => a - b); console.log(scores); // [30, 10, 20] console.log(sorted); // [10, 20, 30]{} И это не единственный такой метод. Современный JavaScript поддерживает целое семейство операций без изменения исходного массива: items.toReversed(); // Развернуть items.toSpliced(1, 2); // Удалить два элемента items.with(0, newItem); // Заменить элемент Все он{} и возвращают новый массив, сохраняя оригинал. Что полезно при работе с неизменяемым состоянием и данными, которые используются в нескольких местах. 🔥 Если исходные данные должны оставаться неизменными, используйте toSorted(), toReversed(), toSpliced() и with() вместо изменяющих методов.
Если у вас установлено приложение,
вы можете сразу перейти в канал