如何打印身份证

时间:2011-06-13 15:50:32

标签: javascript

这是代码。此代码从Facebook获取好友列表。每个朋友都有nameid对。我使用response["data"]得到此内容并将其存储在friends中。 当我打印friends时,我会得到以下内容:

首先

if(loggedIn) {
    FB.api("/me/friends",function(response){
        friends = response["data"];
        totalToBeLoaded = friends.length;
      document.getElementById("status").innerHTML=friends;

  });

输出结果为:

  

[object Object],[object   对象],[对象对象],[对象   对象],[对象对象],[对象   对象],[对象对象],[对象   对象],[对象对象],[对象   对象],[对象对象],[对象   对象],[对象对象],[对象   对象],[对象对象],[对象   对象],[对象对象],[对象   对象],[对象对象],[对象   对象],[对象对象],[对象   对象],[对象对象],[对象   对象],[对象对象],[对象   对象],[对象对象],[对象   对象],[对象对象],[对象   对象],[对象对象],[对象   对象],[对象对象],[对象   对象],[对象对象],[对象   对象],[对象对象],[对象   对象],[对象对象],[对象   对象],[对象对象],[对象   对象],[对象对象],[对象   对象],[对象对象],[对象   对象],[对象对象],[对象   对象],[对象对象],[对象   对象],[对象对象],[对象   对象],[对象对象],[对象   对象],[对象对象],[对象   对象],[对象对象],[对象   对象],[对象对象],[对象   对象],[对象对象],[对象   对象],[对象对象],[对象   对象],[对象对象],[对象   对象],[对象对象],[对象   对象],[对象对象],[对象   对象],[对象对象],[对象   对象],[对象对象],[对象   对象],[对象对象],[对象   对象],[对象对象],[对象   对象],[对象对象],[对象   对象],[对象对象],[对象   对象],[对象对象],[对象   对象],[对象对象],[对象   对象],[对象对象],[对象   对象],[对象对象],[对象   对象]

第二 如果我这样改变上面的代码:

if(loggedIn) {
  FB.api("/me/friends",function(response){
      friends = response["data"];
      totalToBeLoaded = friends.length;
    document.getElementById("status").innerHTML=friends[0].id;
  });
它打印出来。 id位于0位置

输出:

  

1243533622(ID)

第三  如果我把它放在while-loop并打印所有内容,那么会有更多的ID:

if(loggedIn) {
  FB.api("/me/friends",function(response){
    friends = response["data"];
    totalToBeLoaded = friends.length;
    while(i<totalToBeLoaded)
      document.getElementById("status").innerHTML=friends[i].id;
  });

输出:

  

什么都没打印。

如何打印所有id

2 个答案:

答案 0 :(得分:4)

部分问题是你的循环

totalToBeLoaded = friends.length;
while(i<totalToBeLoaded)
  document.getElementById("status").innerHTML=friends[i].id;

i的值永远不会改变。你可能想要像这样重写循环:

for( var i=0, j=friends.length; i < j; i++) {
  document.getElementById("status").innerHTML += friends[i].id + '<br />';
}

注意+= friends[i].id。这将追加当前ID到 status 元素,而不是每次都覆盖当前值。这可能会让您更容易看到发生了什么。

答案 1 :(得分:0)

你需要创建一些HTML来显示它们(目前你每次都要替换html),然后遍历列表(目前你没有递增循环计数器)。

var i, htmlList = "<ul>";
for (i = 0; i < totalToBeLoaded; i++) {
  htmlList += "<li>" + friends[i].id + "</li>";
}
htmlList += "</ul>";
document.getElementById("status").innerHTML = htmlList;