Для цикла для объекта? - PullRequest
       4

Для цикла для объекта?

2 голосов
/ 03 марта 2010

У меня есть следующий код в JavaScript.Я удалил некоторые ненужные элементы, потому что это долго.

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
        }
    }
}

Теперь я хочу получить все данные в объекте options.commandsНо все, что я пытаюсь, не работает.Вот что я пытаюсь:

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

Пожалуйста, помогите мне.

Ответы [ 3 ]

7 голосов
/ 03 марта 2010

.length является свойством массивов, то, что у вас есть, является объектом.

Попытка:

for(var key in options.commands) {
    alert(options.commands[key].cmd);
}
2 голосов
/ 03 марта 2010

Взгляните на как пройти через javascript-object-literal-with-objects-as-members .

По существу:

for (var key in options.commands) {
   alert(  options.commands[key].enabled );
   ...
}
1 голос
/ 03 марта 2010
for(var i in options.commands){
   alert(i); //bold, italic, underline
   alert(options.commands[i].cmd);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...