Skip to content

Instantly share code, notes, and snippets.

@eiszfuchs
Created September 4, 2012 09:14
Show Gist options
  • Save eiszfuchs/3618969 to your computer and use it in GitHub Desktop.
Save eiszfuchs/3618969 to your computer and use it in GitHub Desktop.
var foobar = {};
var name1 = "test-foo-bar";
var name2 = "test-bar-foo";
var addObject = function(parts, object, value) {
if (parts.length <= 0)
return value;
if (!object[parts[0]])
object[parts[0]] = {};
object[parts[0]] = addObject(parts.slice(1), object[parts[0]], value);
return object;
};
addObject(name1.split('-'), foobar, '#cc00ff');
addObject(name2.split('-'), foobar, '#ff00cc');
JSON.stringify(foobar);
{
"test": {
"foo": {
"bar": "#cc00ff"
},
"bar": {
"foo": "#ff00cc"
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment