![](/img/trans.png)
[英]What is the difference between these 2 ways of creating a list of arrays in 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.