2016-08-02 60 views
0

我正在使用JavaScript中的循环并将值存储在多个变量中。如何将值存储在for循环中使用javascript

var friend_id1 = ''; 
var friend_id2 = ''; 
var friend_id3 = ''; 

FB.api('/me/friends', function(response) { 
    if(response.data) { 
     obj = response.data 
     obj = shuffle(obj); 
     a = 3; 
     for(x = 1; x <= obj.length; x++){ 
      friend_id[x] = obj[x].id; 
     if(x >= a) break; 
     } 
    } else { 
     alert("Error!"); 
    } 
}); 

如果我将friend_id [x]替换为friend_id1,我将获得用户ID。但我想要在多个变量中存储值。

+2

你为什么不使用一个数组/对象为friend_id1,friend_id2,friend_id3在第一位? –

+0

我正要说=) – n0m4d

+0

类似'var friends = {};'并且在你的循环中使用'friends ['friend_id_'+ x] = obj' –

回答

0

你试图将值保存到一个数组:

friend_id[x] = obj[x].id; 

但是你没有声明数组,你有没有叫friend_id数组变量。相反,你有多个带有数字名称的变量。

只是声明数组只要你想使用它:

var friend_id = []; 

,或者更恰当地命名为:

var friend_ids = []; 

而更多的正确使用:

friend_ids.push(obj[x].id);