Javascript 在我的例子中,如何将对象推入数组

Javascript 在我的例子中,如何将对象推入数组,javascript,Javascript,我试图将对象推送到一个数组中,对象之间的差异只是一个属性 代码段: var categoryList = ['product1', 'product2', 'product3'...more] var productlist = []; var date = new Date(); var year = date.getFullYear(); var nextYear = year++ for (var a = 0; a < categoryList.length; a++) {

我试图将对象推送到一个数组中,对象之间的差异只是一个属性

代码段:

var categoryList = ['product1', 'product2', 'product3'...more]
var productlist = [];
var date = new Date();
var year = date.getFullYear();
var nextYear = year++

for (var a = 0; a < categoryList.length; a++) {
    productList.push({
        date: year + '-' + categoryList[a],
        'items': [{
            'quatity': 0 'type': 'new'
        }]
    });

    productList.push({
        date: nextYear + '-' + categoryList[a],
        'items': [{
            'quantity': 0 'type': 'new',
        }]
    });
}
var categoryList=['product1','product2','product3'…更多]
var productlist=[];
变量日期=新日期();
var year=date.getFullYear();
var nextYear=年++
对于(var a=0;a

我需要将今年和明年添加到对象中,但我不确定是否有更好的方法来简化上述代码。谢谢你的帮助

使用当前代码,您将(当前)以
year==2015
nextYear==2014
结束。我想你是有意这么做的:

var nextYear = year + 1;
您可以重构代码以使用函数将项目添加到产品列表中。(我假设
quantity
属性只是一个输入错误,因此唯一的区别是年份。)

功能添加产品(年份、产品){
productList.push({
日期:年+'-'+产品,
项目:[{
数量:0,
键入:“新”
}]
});
}
对于(var a=0;a
您可以这样做

function addProduct(prodDate) {
    productList.push({
        'date':prodDate,
        'items' : [ {
            'quatity' : 0,
            'type' : 'new'
        } ]
    });
}
for (var a=0; a < categoryList.length; a++) {
    addProduct(year + '-' + categoryList[a]);
    addProduct(nextYear + '-' + categoryList[a]);
}
功能添加产品(prodDate){
productList.push({
“日期”:prodDate,
“项目”:[{
“数量”:0,
“类型”:“新建”
} ]
});
}
对于(var a=0;a
您缺少分号,并且代码中包含非法字符。您的问题还不完全清楚。您发布的代码中存在一些小的语法错误,您是想修复这些错误,还是想问代码是否可以简化?我无法理解您的需要。@Mr.polywhill:JavaScript具有自动插入分号的功能,因此缺少分号在这里不是问题。除此之外,你指的是什么非法字符?我没有看到任何。@icktoofay:这个“
…more]
”是非法的。不要因为懒惰而牺牲正确的语法。我希望您不要通过JSHint运行JavaScript。上帝禁止你使用JSLint。道格拉斯·克罗克福德会大海捞针。。。
function addProduct(prodDate) {
    productList.push({
        'date':prodDate,
        'items' : [ {
            'quatity' : 0,
            'type' : 'new'
        } ]
    });
}
for (var a=0; a < categoryList.length; a++) {
    addProduct(year + '-' + categoryList[a]);
    addProduct(nextYear + '-' + categoryList[a]);
}