2013-01-09 13 views
0

我從JSON數據庫中收集一些用戶。我更喜歡有一個包含有關用戶的所有信息的數組。將一個大數組縮小爲一個只包含一個字符串的JavaScript

但是對於應用程序的其餘部分,我只需要將用戶的預先名稱作爲字符串。

db_users是包含完整用戶信息的數組。 users只包含預設名稱。

var db_users = []; 
var users = []; 
var counter = 0; 
$.ajax({ 
    url: myUrl, 
    dataType: 'json', 
    async: false, 
    success: function(data) { 
     $.each(data, function(i, user) { 
      db_users.push({ 
       workerid: user.workerid, 
       prename: user.prename, 
       lastname: user.lastname, 
       avatar: user.avatar, 
       lineup: user.lineup, 
       languages: user.languages, 
       partnerid: user.partnerid, 
       code: user.code, 
       partnerName: user.partnerName, 
       street: user.street, 
       zip: user.zipCode, 
       city: user.city, 
       email: user.email, 
       phone: user.phone, 
       slogan: user.slogan 
      }); 

      users[counter] = user.prename; 
      counter++; 
     }); 
    } 
}); 

我有什麼做的,因爲我用users使用db_users以同樣的方式?有沒有像 [db_users prename];這將創建一個只有作爲字符串的名稱數組?

這是怎麼回事應該在以後使用:

//users: ['Laura', 'Sarah', 'Alice'], 
users: users, 
+2

看起來你已經在創建'users'數組了。所以有什麼問題? –

+0

我只想擁有'db_users'數組,'users'數組就在那裏向您展示我將如何使用它。 – doonot

+0

'for(var n = 0; n Teemu

回答

1

可以使用.map變換的陣列到另一個數組。但是,我認爲你在問題中的方式其實更好。調用.map將涉及重新遍歷整個數組。當你第一次迭代數組並保持它的緩存時,建立它會更好。

如果您只想訪問prename屬性,那麼@狼就會有您的答案。

0

您不必爲此創建單獨的數組。你必須使用下面的代碼

db_users[index].prename; // This will give you the name 

指數是在陣列中的索引....

相關問題