【问题标题】:For loop for object?对象的for循环?
【发布时间】:2011-01-23 08:07:08
【问题描述】:

我在 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);
}

请帮帮我。

【问题讨论】:

    标签: javascript object for-loop


    【解决方案1】:

    .length 是数组的一个属性,你拥有的是一个对象。

    试试:

    for(var key in options.commands) {
        alert(options.commands[key].cmd);
    }
    

    【讨论】:

      【解决方案2】:

      看看how-to-loop-through-javascript-object-literal-with-objects-as-members

      基本上:

      for (var key in options.commands) {
         alert(  options.commands[key].enabled );
         ...
      }
      

      【讨论】:

      • key.enabled 不正确。应该是 options.commands[key].enabled
      【解决方案3】:
      for(var i in options.commands){
         alert(i); //bold, italic, underline
         alert(options.commands[i].cmd);
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-06-09
        • 2018-05-19
        • 2012-03-20
        相关资源
        最近更新 更多