var facebook_info = [{name:"",url:""}];
for(i=0;i<10;i++){
var randomNum = Math.floor(Math.random() * friend_list[0].fql_result_set.length);
facebook_info[i].name=friend_list[0].fql_result_set[randomNum].name;
facebook_info[i].url=friend_list[0].fql_result_set[randomNum].pic_square_with_logo;
console.log(facebook_info.name[i]);
console.log(facebook_info.url[i]);
}
我正在尝试将两个输入放到数组中,但在编译时会出现错误。 我认为我声明数组的方式是错误的。 任何解决方案? 谢谢。
答案 0 :(得分:0)
你在数组facebook_info中只有一个元素,但是你试图在数组中迭代10个元素。
请改为尝试:
var facebook_info = [];
for(i=0;i<10;i++){
var randomNum = Math.floor(Math.random() * friend_list[0].fql_result_set.length);
var name=friend_list[0].fql_result_set[randomNum].name;
var url=friend_list[0].fql_result_set[randomNum].pic_square_with_logo;
facebook_info.push({
"name":name,
"url":url
});
console.log(facebook_info.name[i]);
console.log(facebook_info.url[i]);
}
答案 1 :(得分:0)
你走了:
请注意您的代码中有全局变量i
,第二件事是如何编译JavaScript?
var facebook_info = [],
len = facebook_info.length,
i,
randomNum;
for(i=0; i<len; i++){
randomNum = Math.floor(Math.random() * friend_list[0].fql_result_set.length);
facebook_info[i] = {name: friend_list[0].fql_result_set[randomNum].name, url: friend_list[0].fql_result_set[randomNum].pic_square_with_logo};
}
答案 2 :(得分:0)
var facebook_info = [{name:"",url:""}];
使用一个元素创建一个Array。相反,你应该像这样创建一个空数组:
var facebook_info = [];
然后,将内容推入循环中的facebook_info
,如下所示:
for (...) {
...
var random_friend = friend_list[0].fql_result_set[randomNum];
facebook_info.push({
name: random_friend.name,
url: random_friend.pic_square_with_logo
});
}