views:

65

answers:

3

Hello,

I have the next code in javascript. I deleted some unnecessary items because it went to long.

var options = {
    dhcode: true,
    commands: {
        bold: {
            enabled: true,
            view: true,
            exec: true,
            cmd: 'bold',
            param: null
        },
        italic: {
            enabled: true,
            view: true,
            exec: true,
            cmd: 'italic',
            param: null
        },
        underline: {
            enabled: true,
            view: true,
            exec: true,
            cmd: 'underline',
            param: null
        }
    }
}

Now i want to get al data in the options.commands object. But everything what i try don't work. This is what i am trying:

for(var i=0;i<options.commands.length;i++) {
alert(options.commands[i].cmd);
}

Please help me.

+1  A: 

.length is a property of arrays, what you have is an object.

Try:

for(var key in options.commands) {
    alert(options.commands[key].cmd);
}
Sorpigal
Tom
+1  A: 

Have a look at how-to-loop-through-javascript-object-literal-with-objects-as-members.

Essentially:

for (var key in options.commands) {
   alert(  options.commands[key].enabled );
   ...
}
Justin Ethier
key.enabled is not correct. Should be options.commands[key].enabled
Jage
+1  A: 
for(var i in options.commands){
   alert(i); //bold, italic, underline
   alert(options.commands[i].cmd);
}
Jage