簡體   English   中英

JavaScript數組聲明方式的區別

[英]JavaScript arrays declaration ways difference

在JavaScript中,這可能是一個非常基本的問題,兩者之間有什么區別?

var userDetails = {};  
var usersList = [];  

我正在閱讀一篇文章,其中包含以下代碼:

 function GetSampleUsersList() {  
    var userDetails = {};  
    var usersList = [];  
    for (var i = 1; i <= 3; i++) {  
        userDetails["UserId"] = i;  
        userDetails["UserName"] = "User- " + i;  
        userDetails["Company"] = "Company- " + i;  
        usersList.push(userDetails);  
    }  
    return JSON.stringify(usersList);  
}  

謝謝

這是一個非常基本的問題。

var o = {}

初始化一個空對象。 然后,分配其屬性。

 var a = []

初始化一個空數組。 然后,將新創建的對象添加到數組中

a.push( o );

每次迭代都使用相同的userDetails ,因為您只覆蓋屬性,並且在推送相同的對象時,數組中每個元素的內容始終相同。

  function GetSampleUsersList() { var userDetails = {}; var usersList = []; for (var i = 1; i <= 3; i++) { userDetails["UserId"] = i; userDetails["UserName"] = "User- " + i; userDetails["Company"] = "Company- " + i; usersList.push(userDetails); } return JSON.stringify(usersList); } console.log(GetSampleUsersList()); 

最好為每個循環使用一個新的空對象。

  function GetSampleUsersList() { var userDetails; var usersList = []; for (var i = 1; i <= 3; i++) { userDetails = {}; // this is necessary userDetails["UserId"] = i; userDetails["UserName"] = "User- " + i; userDetails["Company"] = "Company- " + i; usersList.push(userDetails); } return JSON.stringify(usersList); } console.log(GetSampleUsersList()); 

 var userDetails = {}; -- object notation in javascript
 var usersList = [];  is an array notation in javascript.

有關更多信息,請參見此處http://yuiblog.com/blog/2006/11/13/javascript-we-hardly-new-ya/

function GetSampleUsersList() {      
var userDetails = {};  //created an empty object userDetails 
var usersList = [];  //created an empty array userDetails
for (var i = 1; i <= 3; i++) {  //looping to add property and value in object and for each iteration object is getting pushed into array at an index i.
    userDetails["UserId"] = i;  
    userDetails["UserName"] = "User- " + i;  
    userDetails["Company"] = "Company- " + i;  
    usersList.push(userDetails);  // pushing object {"UserId":i, "UserName":"User-i", "Company":"Company-i"} into array
}  
    return JSON.stringify(usersList);  // Parsing the object into javascript string
}  

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM