этот массив отсортировать по определенному свойству по алфавиту, т.е. мемоизирую по стандарту через useMemo, тут все понятно. Написал функцию, которая делает shallow copy и deep copy (на скриншоте).
Вопрос: нужно ли вообще делать deepcopy этого массива, или это излишняя операция? Если по сути мы в дальнейшем не изменяем мемоизированный массив, загнался на эту тему немного.
return [...arr].sort( (a, b) => { // алгоритм твоей сортировки } )
Да не, это понятно, я скрин с функцией приложил)
В данном случае операция глубокого копирования излишняя.
Любят же люди все дико усложнять
В чем усложнение?
В каждой строчке
думаешь не стоит так запариваться (писать отдельную функцию и т.д.) и просто в useMemo отсортировать с shallowcopy?
Если в дальнейшем не будет изменений объектов в этом массиве, то глубокая копия не нужна, достаточно поверхностного копирования Если же будет дальнейшее изменение объектов - только глубокая копия, ибо ты вместе с этим будешь мутировать объекты у родителей
Обсуждают сегодня