diff --git a/00100.мир.js b/00100.мир.js index 0144f93..799be47 100644 --- a/00100.мир.js +++ b/00100.мир.js @@ -55,31 +55,22 @@ мир.задать = function(словарь, ключ, значение) { var путь = ключ.split("."); - if (путь.length == 1) + var пройти = путь.length - 1; + var вложенность = словарь; + for (var номер = 0; номер < пройти; ++номер) { - словарь[ключ] = значение; - } - else - { - var пройти = путь.length - 1; - var вложенность = словарь; - for (var номер = 0; номер < пройти; ++номер) - { - var внутреннийКлюч = путь[номер]; + var внутреннийКлюч = путь[номер]; console.debug("проход номер/внутреннийКлюч/путь", номер, внутреннийКлюч, путь); - var внутреннийСловарь = вложенность[внутреннийКлюч]; - if (!внутреннийСловарь) - { - вложенность[внутреннийКлюч] = {}; - внутреннийСловарь = вложенность[внутреннийКлюч]; - вложенность = внутреннийСловарь; - } - // Прошли. - if (пройти - номер == 1) - { - внутреннийСловарь[путь[пройти]] = значение; - } - + var внутреннийСловарь = вложенность[внутреннийКлюч]; + if (!внутреннийСловарь) + { + вложенность[внутреннийКлюч] = {}; + внутреннийСловарь = вложенность[внутреннийКлюч]; + вложенность = внутреннийСловарь; } } + // Значение в конце пути. + { + вложенность[путь[пройти]] = значение; + } };