Есть ли готовая реализация вложенных хешей?

Необходимо иметь возможность делать что-то вроде такого:
obj.key1.key2.blablbabla.abc = 3;


obj.key1 или obj.key1.key2 и т.д. может не существовать (нужно чтобы они автоматически создавались). Собственно вопрос — есть ли готовая реализация такой штуки? Самому изобретать велосипед не хочется
  • Вопрос задан
  • 2792 просмотра
Пригласить эксперта
Ответы на вопрос 4
k12th
@k12th
console.log(`You're pulling my leg, right?`);
Такая функция была описана в «книжке с носорогом», в главе про модули и пространства имен.
Ответ написан
Комментировать
Malyw
@Malyw
function checkNameSpace(parent,propString){
    var parts = propString.split('.');
    for(var i=0,len=parts.length;i<len;i++){
        if(typeof parent[parts[i]] === 'undefined'){
         parent[parts[i]] = {};
        }
        parent = parent[parts[i]];
    }
    return parent;
}
checkNameSpace(window,'localStorage.getItem');
Ответ написан
Malyw
@Malyw
Эта функция из книги Стояна Стефанова «JavaScript Шаблоны», глава «Шаблоны создания объектов».
Ответ написан
Комментировать
@spbcypher
в dojo есть нечто подобное
livedocs.dojotoolkit.org/dojo/_base/lang#getobject
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы