数组错误如何使其工作

Array error how to make it work?

本文关键字:工作 何使其 错误 数组      更新时间:2023-09-26
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]);
}

我正在尝试将两个输入放入数组,但在编译时出现错误。我认为我声明数组的方式是错误的。有什么解决方案吗?谢谢。

var facebook_info = [{name:"",url:""}];

创建一个包含一个元素的数组。相反,您应该创建一个空数组,如下所示:

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
  });
}

你来了:

请注意,您的代码中有全局变量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};
}

数组中只有一个元素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]);
}