【问题标题】:How to go through each object in oData?如何遍历 oData 中的每个对象?
【发布时间】:2016-12-28 11:58:03
【问题描述】:

当我键入以下代码语句时,我得到了附加的图像。现在我想访问每个对象内部的属性“标签”。我怎样才能遍历这些对象中的每一个并获取它们的“标签”属性?

item.getModel().oData;

我尝试了以下代码,但没有成功:

               var labelText = item.getModel().oData;

                labelText.forEach(function(entry) {
                    var c = entry.StreetName;
                });

其中一项的示例:

【问题讨论】:

    标签: javascript jquery loops object each


    【解决方案1】:
    var labelText = item.getModel().oData;
    
                    $(labelText).each(function(index,entry) {
                        var c = entry.StreetName;
                    });
    

    【讨论】:

    • 我已附上一张带有对象展开视图的图片
    • 然后迭代更深.. $(labelText).each(function(index,entry) { $(entry).each(function(i,e){ alert(e.StreetName); }) ; });
    • 它返回 e.streetName 未定义。 “e”仍然是一个对象列表
    • entry和e是一回事
    【解决方案2】:

    因为它是Object 而不是Array,所以您应该使用Object.keys 或其他方法来访问对象的每个属性。例如:

    var labelText = item.getModel().oData;
    var keys = Object.keys(labelText);
    for (var i = 0; i < keys.length; i++) {
        var c = labelText[keys[i]].StreetName;
    }
    

    【讨论】:

      【解决方案3】:

      一种迭代对象属性的简洁方法,使用forEachObjectkeys 方法

      var labelText = item.getModel().oData;
      
      Object.keys(labelText).forEach(function(entryName) {
          var c = labelText[entryName].StreetName;
      });
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-05-23
        • 2017-10-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-09-06
        • 1970-01-01
        相关资源
        最近更新 更多