2013-10-14 23 views
0

好的,這是我的問題,我有一個mongodb集合,其中包含所有即將發生的事件和過去的事件。然而,當我獲取數據時,它會做它應該做的事情,並以數組的形式返回查詢,然後轉向JSON(發送到我的HTML iphone應用程序)。使用Javascript:將事件拆分成幾個月

我想知道的是在我運行了我的mongodb查詢之後,我可以分開日期並將每個月的事件分組到不同的JSON中。

這裏是一個示例JSON。

{ 
    "date": "01/11/2013", 
    "event": "Event Name", 
    "desc": "Sample DESC." 
},{ 
    "date": "07/12/2013", 
    "event": "Event Name", 
    "desc": "Sample DESC." 
}, 

在基礎方面,我想顯示列表像

November 
1: event title 
December 
7: event title 

我想如果我分裂的日期,但後來我relised,不會在所有幫助它只是分裂的日期。

如果任何人都可以提供幫助,那就太好了。我並不是要求某人編寫代碼,而是用於將日期分組爲不同的json字符串。

它應該看起來像

<div>MONTH</div> 
<div>EVENT</div> 

,或者如果多個事件

<div>MONTH</div> 
    <div>EVENT</div> 
    <div>EVENT</div> 
    <div>EVENT</div> 
    <div>EVENT</div> 
    <div>EVENT</div> 

這是我常在Javascript編輯JSON字符串。

var newsreponse = JSON.parse(xmlhttp.responseText); 


    for (var i = 0, len = newsreponse.length; i < len; ++i) { 
    var news = newsreponse[i]; 
    if(i % 2 == 0){ 
     cssclass = "even"; 
    } 
    else 
    { 
     cssclass = "odd"; 
    } 

     // alert(news.featured_image); 
    document.getElementById("activecontent").innerHTML += "<div class='news " + cssclass + "'><div class='newstitle'><div class='newstitlecolor'>" + news.post_title + "</div></div><div class='base' style='background: url('" + news.featured_image + "');'><img src='" + news.featured_image + "' style='width:100%; height:100%;'/></div></div>"; 
    } 
+0

非常抱歉!但無法理解你想要達到的目標! :( –

回答

0

通過數組只是環和值添加到一個新的對象

var raw = [{ 
    "date": "01/11/2013", 
    "event": "Event Name", 
    "desc": "Sample DESC." 
},{ 
    "date": "07/12/2013", 
    "event": "Event Name", 
    "desc": "Sample DESC." 
}]; 

var months = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"] 
var ordered = {}; 

for(var i = 0, len = raw.length; i < len; i++) { 
    var entry = raw[i]; 
    var m = parseInt(entry.date.split("/")[1])-1; 
    if(!ordered[months[m]]) { ordered[months[m]] = []; } 
    ordered[months[m]].push(entry); 
} 

這裏是一個fiddle

+0

對不起,雖然這確實把月份和事件放在它下面,我沒有辦法做一個for循環來調用每一個,除非我錯過了一些東西,因爲每個數組從月開始,也許我的JavaScript技能只是不知道怎麼做,我用它來做同樣的關鍵循環 – RussellHarrower

+0

你究竟是什麼意思?你想完成什麼?只是打印這個東西? –

+0

我想在div中顯示事件每個月下 – RussellHarrower