【问题标题】:Iterating through object properties in Javascript遍历 Javascript 中的对象属性
【发布时间】:2014-11-24 06:34:38
【问题描述】:

我在 javasript 对象中有一组属性。

    var leanToolButtonStatus = {
    FiveSStatus:0,
    SmallLotStatus:0,
    SmedStatus:0,
    QualityStatus:0,
    CellsStatus:0,
    CrossTrainStatus:0,
    SelfDirectedStatus:0,
    PMStatus:0,
    VendorStatus:0,
    SmallPurchaseStatus:0,
    NewEquipmentStatus:0,
    MarketStatus:0,
    KanbanStatus:0
}

现在我想运行 for-loop 来迭代它,所以我尝试:

  function loopThroughObject(){
    var iterationCounter = 0;
    for(var x = 0; x<1; x++){
        for(var y = 0; y<6; y++){
        switch(leanToolButtonStatus[iterationCounter]) {
            case 0:
                break;
            case 1:
                break;
            case 2:
                break;
            }
        }
        iterationCounter++;
    }
}

但是我收到以下错误:

Uncaught SyntaxError: Unexpected number.

任何想法我哪里出错了?

【问题讨论】:

    标签: javascript object for-loop iteration


    【解决方案1】:

    如果您的对象的结构与您在问题中添加的完全一样,则不需要 for 循环,只需访问它:

    var leanToolButtonStatus = {
        FiveSStatus:0,
        SmallLotStatus:0,
        SmedStatus:0,
        QualityStatus:0,
        CellsStatus:0,
        CrossTrainStatus:0,
        SelfDirectedStatus:0,
        PMStatus:0,
        VendorStatus:0,
        SmallPurchaseStatus:0,
        NewEquipmentStatus:0,
        MarketStatus:0,
        KanbanStatus:0
    };
    console.log(leanToolButtonStatus["FiveSStatus"]);
    

    如果您不知道键名。你可以使用for..in循环,如:

    for(val in leanToolButtonStatus ) {
        console.log(leanToolButtonStatus[val]);
    }
    

    【讨论】:

    • 我需要能够遍历一个循环,以便处理一些绘图放置。因此,因此我不能只调用密钥。这有意义吗?
    • @Tukajo 在这种情况下,您可以使用 for..in 循环遍历对象键/值,就像答案中添加的那样
    【解决方案2】:

    它应该与这个coden-p一起工作:

    for(key in list)
    {
     var elementOfList = list[key];
    }
    

    key 可以是 'FiveSStatus' 和 elementOfList 0

    【讨论】:

      【解决方案3】:
      #1
      for (var key in leanToolButtonStatus) {
         leanToolButtonStatus[key]
      }
      
      #2
      Object.keys(leanToolButtonStatus).forEach(function (key) {
          leanToolButtonStatus[key]
      });
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-02-14
        • 2016-12-19
        • 2012-01-08
        • 2014-08-09
        相关资源
        最近更新 更多