[英]Adding elements to an object with multiple properties
Im pretty new working with objects, and I just cant seem to get this to work no matter how I try it. 我正在使用对象,这是很新的东西,无论我如何尝试,我似乎都无法使它正常工作。
My idea is that I want to treat printObj just like a database-table and then keep adding "records" to it. 我的想法是我想像对待数据库表一样对待printObj,然后继续向其添加“记录”。 (then later "updating" the "records" and eventually loop thru all rendering them in an HTML result)
(然后稍后“更新”“记录”,并最终循环遍历所有记录,将它们呈现为HTML结果)
But I keep getting Uncaught TypeError: printObj.push is not a function 但是我不断收到Uncaught TypeError:printObj.push不是一个函数
var printObj = new Object();
printObj.push({
property: 'WAT-606',
project: 'Wong Amat Tower',
year: 2017,
month: 1,
bookedPct: 52
});
for (var i=0; i<10; i++) {
var addObj = new Object();
addObj["property"] = 'WAT-606';
addObj["project"] = 'Wong Amat Tower';
addObj["year"] = 2017;
addObj["month"] = 1;
addObj["bookedPct"] = 52+i;
printObj.push(addObj);
}
Don't do push
. 不要
push
。 It is for Arrays
. 它用于
Arrays
。 Directly create with properties, like 直接使用属性创建,例如
var printObj = {
property: 'WAT-606',
project: 'Wong Amat Tower',
year: 2017,
month: 1,
bookedPct: 52
}
If you want to add additional, do like 如果要添加其他,请喜欢
printObj.newProp = val;
First, learn about Objects
completely. 首先,全面了解
Objects
。 This site will help you 该网站将为您提供帮助
You are really looking for an array, which you create like this: 您实际上正在寻找一个数组,您可以这样创建:
var printArr = []; printArr.push({ property: 'WAT-606', project: 'Wong Amat Tower', year: 2017, month: 1, bookedPct: 52 }); for (var i=0; i<10; i++) { var addObj = {}; addObj.property = 'WAT-606'; addObj.project = 'Wong Amat Tower'; addObj.year = 2017; addObj.month = 1; addObj.bookedPct = 52+i; printArr.push(addObj); } console.log(printArr);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.