我试图弄清楚如何正确解析从linkedIn JavaScript API返回的一些值。
目前我使用以下代码循环并打印返回的对象。
for(var position in profile.positions)
{
profHTML = profHTML + profile.positions[position];
}
结果(这让我想到了解决方法的一部分:
11[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
基本上是#对象(似乎是第一个返回的对象),然后是每个对象。
根据我在Chrome中执行控制台日志时返回的内容,此代码返回一个包含名为“company”的对象的对象数组。公司包含4个属性(“id”,“行业”,“名称”,“类型”)
我收集了profile.positions [position]是对返回的元素的引用,但是我不确定在循环时访问公司对象和属性的语法。
我也不确定避免尝试在返回对象数量的第一个循环上引用字段的最佳做法。
提前感谢您的帮助。
答案 0 :(得分:2)
首先,使用regular for
loop而不是for...in
loop来迭代数组。
var positions = profile.positions,
position;
for(var i=0; i<positions.length; i++)
{
position = positions[i];
profHTML = profHTML + position;
}
现在,要访问position
的其中一个属性,只需使用member operator(.
或[]
):
var positions = profile.positions,
company;
for(var i=0; i<positions.length; i++)
{
company = positions[i].company;
console.log(company.id, company.industry, company.name, company.type);
}