向具有多个属性的对象添加元素

时间:2017-02-28 13:29:28

标签: javascript object

我非常喜欢使用对象,无论我如何尝试它,我似乎无法让它工作。

我的想法是,我想将printObj视为数据库表,然后不断添加“记录”。 (然后“更新”“记录”,最后循环遍历所有在HTML结果中呈现它们)

但我一直在未捕获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);
}

2 个答案:

答案 0 :(得分:1)

不要push。这是Arrays。直接使用属性创建,例如

var printObj = {
    property: 'WAT-606',
    project: 'Wong Amat Tower',
    year: 2017,
    month: 1,
    bookedPct: 52
}

如果您想添加其他内容,请执行

printObj.newProp = val;

首先,完全了解Objects。这个site会帮助您

答案 1 :(得分:1)

你真的在寻找一个像你这样创建的数组:

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);