Нужен код функции func, скорее всего Вы меняете исходный объект, а не его копию.
UPDATE: А все нашел у вас комментариях, ну разумеется вы меняете входной объект меню, в начале функции mergerMenu необходимо сделать чтото типо :
const newMenu = Object.assign( {}, menu )
и потом его уже возвращать из функции
return newMenu;
ну или если уж вы любитель es6
const newMenu = { ...menu }
UPDATE: все ключи объекта с таким подходом копируются по ссылке, если вам нужно абсолютно новое меню, нужно делать глубокое копирование, а это процесс довольно ресурсоемкий. Советую посмотреть на Immutable.js