Javascript 函数之间的循环和存储结果

Javascript 函数之间的循环和存储结果,javascript,json,function,for-loop,return,Javascript,Json,Function,For Loop,Return,我想根据特定的标准生成一个分组JSON元素列表,但我无法使我的循环工作。 该函数应使用12个瓶子分组,并返回单个JSON列表。因此,在本例中,函数应提取前3项,然后再次运行以提取其余项。但我永远在循环。。。提前谢谢大家, var data = { "order": [ { "product": "MAXIMUS", "quantity": "3" }, { "product": "COLECCION", "quantity": "3" },

我想根据特定的标准生成一个分组JSON元素列表,但我无法使我的循环工作。 该函数应使用12个瓶子分组,并返回单个JSON列表。因此,在本例中,函数应提取前3项,然后再次运行以提取其余项。但我永远在循环。。。提前谢谢大家,

var data = {
    "order": [
        { "product": "MAXIMUS", "quantity": "3" },
        { "product": "COLECCION", "quantity": "3" },
        { "product": "CABERNET FRANC", "quantity": "6" },
        { "product": "CHARDONNAY", "quantity": "6" },
        { "product": "SAUVIGNON BLANC", "quantity": "6" }
    ]
};

var qtd = data.order;
var size = qtd.length;
var addline = '';
var add = '';
var total = 0;
var i = 0;
var a = 0;
var c = '';

function MakeList(i, add) {
    for (i < 0; total < 12; i++) {
        total += parseInt(qtd[i].quantity);
        addline = addline + '{' + '"quantity": "' + qtd[i].quantity + ' units"},';
        i = i++;
        add = '{"Box of 12":[' + addline.slice(0, -1) + "]}";
    }
    return [i, add];
}

function BuildLabels(i, add) {
    for (i < 0; c = "true"; i++) {
        c = a[0] < size;
        a += MakeList(i, add);
        i = i++;
    }
    return a;
}

var results = BuildLabels(i, add);
output = { id: 3, results };
var数据={
“命令”:[
{“产品”:“最大值”,“数量”:“3”},
{“产品”:“目录”,“数量”:“3”},
{“产品”:“赤霞珠法郎”,“数量”:“6”},
{“产品”:“霞多丽”,“数量”:“6”},
{“产品”:“长相思”,“数量”:“6”}
]
};
var qtd=data.order;
变量大小=qtd长度;
var addline='';
var add='';
var合计=0;
var i=0;
var a=0;
var c=“”;
函数生成列表(i,添加){
对于(i<0;总数<12;i++){
总计+=parseInt(qtd[i]。数量);
addline=addline+'{'+'“数量”:“'+qtd[i]。数量+'单位“}”;
i=i++;
add='{“一盒12”:['+addline.slice(0,-1)+“]}”;
}
返回[i,添加];
}
函数BuildLabels(i,add){
对于(i<0;c=“true”i++){
c=a[0]<尺寸;
a+=制作列表(i,添加);
i=i++;
}
返回a;
}
var结果=构建标签(i,添加);
输出={id:3,results};

非常感谢curveball,它对第一个盒子非常有效,但是我如何再次循环以获得剩余的两个项目?它应该生产两个盒子,一个有前三个,第二个有最后两个。啊…好的。让我添加几行,并在一个表格中检查更新的答案moment@Deca如果Lima完成,请检查更新的答案。这花了一点多的时间:)真是太美了!它工作得很好!非常感谢你!我现在可以睡觉了!非常感谢您的改进!你只是读我的想法!我确实在用6瓶和12瓶的盒子工作!非常感谢你!
for (i < 0; c = "true"; i++)