/
spirzen
/
it-code-examples
Обзор
Документация
Войти
/
spirzen
/
it-code-examples
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
examples/javascript/js-501-18-012/main.js
29 строк
800 B
Spirzen
Code migration pack
09 июн 2026, 01:41
09 июн 2026, 01:41
cebc284
Код
Авторство
О чём код?
function updateNestedProperty(obj, path, value) { const keys = path.split('.'); const result = { ...obj }; let current = result; for (let i = 0; i < keys.length - 1; i++) { current[keys[i]] = { ...current[keys[i]] }; current = current[keys[i]]; } current[keys[keys.length - 1]] = value; return result; } const state = { user: { profile: { name: "Джон", settings: { theme: "light" } } } }; const newState = updateNestedProperty(state, "user.profile.settings.theme", "dark"); console.log(state.user.profile.settings.theme); // "light" - оригинал не изменился console.log(newState.user.profile.settings.theme); // "dark" - новая версия