你是不是希望得到的结果:
{
'2013-8':['title1','title2'],
'2013-9':['title3','title4','title5'],
'2013-10':['title6'],
'2013-11':['title7','title8']
}

解决方案 »

  1.   


    var arr = [
     {title:'title1',date:'2013-8-1'},
     {title:'title2',date:'2013-8-23'},
     {title:'title3',date:'2013-9-1'},
     {title:'title4',date:'2013-9-2'},
     {title:'title5',date:'2013-9-3'},
     {title:'title6',date:'2013-10-10'},
     {title:'title7',date:'2013-11-1'},
     {title:'title8',date:'2013-11-2'}
    ];
    var obj = {};
    for(var i=0, l = arr.length; i < l; ++i)
    {
    var d = arr[i].date.match(/\d+-\d+/)[0];
    if(obj[d])
    obj[d].push(arr[i].title);
    else
    obj[d] = [arr[i].title];
    }
    for(var i in obj)
    document.write(i+":"+obj[i]+"<br />");