3

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.

3 Answers 3

8

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

Try:

for(var key in options.commands) {
    alert(options.commands[key].cmd);
}
Sign up to request clarification or add additional context in comments.

Comments

2

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 );
   ...
}

1 Comment

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

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.