![](/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.