Javascript 从json循环创建多维数组,在组中连接特定值

Javascript 从json循环创建多维数组,在组中连接特定值,javascript,arrays,Javascript,Arrays,尝试在json上循环并连接特定值,然后进一步循环 var json = [ {title: "title1", type: "group1"} {name: "name1", type: "in"} {name: "name2", type: "out"} {name: "name3", type: "out"} {title: "title2", type: "group2"} {name: "name4", type: "out"} ]; v

尝试在json上循环并连接特定值,然后进一步循环

var json = [
    {title: "title1", type: "group1"}
    {name: "name1", type: "in"}
    {name: "name2", type: "out"}
    {name: "name3", type: "out"}
    {title: "title2", type: "group2"}
    {name: "name4", type: "out"}
];

var obj = {},
    count = 0;

for (var i=0; i < json.length; i++){
    if('name' in json[i]){
        var obj[count].push(json[i])
    }else{
        count++;
    }
}
新创建的group2应该是

[
    {title: "title1", type: "group1"},
    {name: "name1", type: "in"},
    {name: "name2", type: "out"},
    {name: "name3", type: "out"}
]
[
    {title: "title2", type: "group2"},
    {name: "name4", type: "out"}
]

您可以使用
title
属性检查新组是否已启动。如果是,则将数组中的实际对象推送到结果集,否则将实际对象推送到最后一个数组

var数组=[{title:“title1”,type:“group1”},{name:“name1”,type:“in”},{name:“name2”,type:“out”},{name:“name3”,type:“out”},{title:“title2”,type:“group2”},{name:“name4”,type:“out”},
结果=数组.reduce(函数(r,o){
if(o中的“标题”){
r、 推挤([o]);
}否则{
r[r.length-1]。推(o);
}
返回r;
}, []);
控制台日志(结果)

作为控制台包装{max height:100%!important;top:0;}
您的对象的格式无效您的问题不清楚。您的json也是无效的对象。请编辑你的帖子以使其更清晰。我编辑了代码。你编辑了代码,但语法仍然无效,问题也不再比以前更清晰了。如果您确实运行了您提供的内容,您希望它做什么?因此,您的问题是如何根据具有
title
属性的项目的位置对数组中的项目进行分组?之后的每个项目直到下一个
标题
项目包含在组中?