如何遍历 oData 中的每个对象?
Posted
技术标签:
【中文标题】如何遍历 oData 中的每个对象?【英文标题】:How to go through each object in oData? 【发布时间】:2016-12-28 11:58:03 【问题描述】:当我键入以下代码语句时,我得到了附加的图像。现在我想访问每个对象内部的属性“标签”。我怎样才能遍历这些对象中的每一个并获取它们的“标签”属性?
item.getModel().oData;
我尝试了以下代码,但没有成功:
var labelText = item.getModel().oData;
labelText.forEach(function(entry)
var c = entry.StreetName;
);
其中一项的示例:
【问题讨论】:
【参考方案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】:一种迭代对象属性的简洁方法,使用forEach
和Object
的keys
方法
var labelText = item.getModel().oData;
Object.keys(labelText).forEach(function(entryName)
var c = labelText[entryName].StreetName;
);
【讨论】:
以上是关于如何遍历 oData 中的每个对象?的主要内容,如果未能解决你的问题,请参考以下文章
如何对来自 PowerQuery 的 OData 中的大型数据集的请求进行分页?