我如何添加一个对象到数组(在javascript或jquery)? 例如,这段代码有什么问题?
function() {
var a = new array();
var b = new object();
a[0] = b;
}
我想使用这段代码来保存function1数组中的许多对象,并调用function2来使用数组中的对象。
如何在数组中保存对象? 我如何把一个对象放在一个数组中,并将其保存到一个变量?
我如何添加一个对象到数组(在javascript或jquery)? 例如,这段代码有什么问题?
function() {
var a = new array();
var b = new object();
a[0] = b;
}
我想使用这段代码来保存function1数组中的许多对象,并调用function2来使用数组中的对象。
如何在数组中保存对象? 我如何把一个对象放在一个数组中,并将其保存到一个变量?
当前回答
object显然是一个打字错误。但是object和array都需要大写字母。
new Array和new Object可以用简写来表示它们是[]和{}
可以使用.push将数据推入数组。这将把它添加到数组的末尾。或者您可以设置一个索引来包含数据。
function saveToArray() {
var o = {};
o.foo = 42;
var arr = [];
arr.push(o);
return arr;
}
function other() {
var arr = saveToArray();
alert(arr[0]);
}
other();
其他回答
var years = [];
for (i= 2015;i<=2030;i=i+1){
years.push({operator : i})
}
这里数组years的值是
years[0]={operator:2015}
years[1]={operator:2016}
就像这样。
如果这样使用代码,就会遇到作用域问题。如果您计划在函数之间使用它,则必须在函数之外声明它(或者如果调用它,则将其作为参数传递)。
var a = new Array();
var b = new Object();
function first() {
a.push(b);
// Alternatively, a[a.length] = b
// both methods work fine
}
function second() {
var c = a[0];
}
// code
first();
// more code
second();
// even more code
我用auto list创建对象的方法:
var list = [];
function saveToArray(x) {
list.push(x);
};
function newObject () {
saveToArray(this);
};
另一个答案是这样的。
如果你有一个这样的数组:var contacts = [bob, mary];
你想在这个数组中放入另一个数组,你可以这样做:
声明函数构造函数
function add (firstName,lastName,email,phoneNumber) {
this.firstName = firstName;
this.lastName = lastName;
this.email = email;
this.phoneNumber = phoneNumber;
}
从函数中创建对象:
var add1 = new add("Alba","Fas","Des@gmail.com","[098] 654365364");
并将对象添加到数组中:
contacts[contacts.length] = add1;
/* array literal */ var aData = []; /* object constructur */ function Person(firstname, lastname) { this.firstname = firstname; this.lastname = lastname; this.fullname = function() { // return (this.firstname + " " + this.lastname); return (`${this.firstname} ${this.lastname}`); // es6 template string }; } /* store object into array */ aData[aData.length] = new Person("Java", "Script"); // aData[0] aData.push(new Person("John", "Doe")); aData.push(new Person("Anna", "Smith")); aData.push(new Person("Black", "Pearl")); aData[aData.length] = new Person("stack", "overflow"); // aData[4] /* loop array */ for (var i in aData) { alert(aData[i].fullname()); } /* convert array of object into string json */ var jsonString = JSON.stringify(aData); document.write(jsonString);
将对象推入数组