Don't do for (var c in classes) where classes is an array. That's a recipe for trouble.
Here's a smaller (and in modern browsers, faster) implementation: http://mootools.net/shell/XE5TR/1/ On Dec 24, 1:31 pm, Oskar Krawczyk <[email protected]> wrote: > Alright, Sean McArthur solved the problem, > here:http://mootools.net/shell/XE5TR/ > > On 24 Dec 2009, at 18:26, Roman Land wrote: > > > > > I think that is what I said, you need to first split the string based on > > '.' and then use these to access the property you want.. a[b][c] etc.. > > > And there is no need for eval... > > > Was this a job interview question you got? > > > On Thu, Dec 24, 2009 at 7:59 PM, Oskar Krawczyk <[email protected]> > > wrote: > > I was expecting this would need hacking. > > > Nor regex or split will help- I really don't want to use eval()... To get > > the correct path: window[a][b].version > > > Sent from my iPhone > > > On 24 Dec 2009, at 17:23, Roman Land <[email protected]> wrote: > > >> I think this is not according to JS specification, example: > > >> var a = {'test.test' : "blah"}; > >> console.log(a['test.test']); // this works and splits "blah" > > >> So there is no 100% true way to build path from the script. but if you > >> want there are two ways I can think of: > >> 1. using regex > >> 2. using 'some.path'.split('.') will give you two elements to play with. > >> (but you have to be more elaborate with longer paths) > > >> In short, I think you are doing something wrong.. this is hacking basic > >> stuff that IMO you shouldnt.. > > >> On Thu, Dec 24, 2009 at 6:55 PM, Oskar Krawczyk <[email protected]> > >> wrote: > >> Yeah yeah, not Moo but Vanilla. I trust you guys more than any other JS > >> group so I'll just go ahead ask here: > > >>http://www.mootools.net/shell/q5ngz/ > > >> There's a dynamic number of objects: > > >> ScriptInfo = { > >> version: '1.2' > >> }; > > >> AnotherScriptInfo = {}; > >> AnotherScriptInfo.Extension = { > >> version: '1.2' > >> }; > > >> And a config: > > >> var classes = ['ScriptInfo', 'AnotherScriptInfo.Extension']; > > >> What I need is to get into: window.NNN.version - where NNN can be one > >> property or 10. > > >> Of course doing window['AnotherScriptInfo.Extension'].version ain't gonna > >> fly. > > >> How do I deal with this? It's probably simpler than any solution that > >> comes to mind at this moment. > > >> ___ > > >> Oskar Krawczyk > >>http://nouincolor.com > > >> -- > >> --- > >> "Make everything as simple as possible, but not simpler." > > >> - Albert Einstein > > > -- > > --- > > "Make everything as simple as possible, but not simpler." > > > - Albert Einstein
