2014-12-18 4 views
0

아래 기능을 사용하여 백본 컬렉션을 정렬합니다. Date (creationdate)를 참조하여 컬렉션을 정렬합니다. 내가 가져 오는 결과물에는 가장 오래된 항목이 먼저 있지만, 출력은 최신 항목부터 시작하여 가장 오래된 항목이 마지막에 있어야합니다.백본을 역순으로 정렬

var campaignsNewCampaigns = _.sortBy(campaigns, function(campaign) { 
    if (campaign.creationdate) { 
    var getDate = campaign.creationdate.replace("-", "").replace("-", "").replace(":", "").replace(":", ""); 

    return -Number(getDate); 
    } 
    return 0; 
}); 

답변

0

나는 이것에 대한 해결책을 얻었다을 .

if (campaign.creationdate) { 
      var getDate = (new Date(campaign.creationdate)).getTime(); 
      return -Number(getDate); 
     } 
0

backbone.js에는 비교기 필드와 정렬 기능이 있습니다. 이 컬렉션의 종류를 설정하려면 컬렉션에이 기능을 추가해야합니다 : 지금

//... 
sortByDate : function(){ 
    this.comparator = function(campaign){ 
     // I consider creationDate is a Date Object 
     return -campaign.get('creationdate').getTime(); 
    }; 
    this.sort(); 
}, 
//... 

와,이 같은이 방법 컬렉션을 정렬 전화 :

var campaignsNewCampaigns = campaigns.sortByDate(); 
+0

안녕하세요, 답장을 보내 주셔서 감사합니다. – Rahul92

+0

하지만 내 코드가 내 페이지에서 제대로 작동하지 않는 것 같습니다. 다른 예제 var campaignsTopPerformance = _.sortBy (캠페인, 함수 (캠페인) { if (campaign.max_ctr) { return -umber (campaign.max_ctr) } return 0; }); 위의 함수에서 나는 max_ctr로 정렬 중이며 성공적으로 작업하고있다. – Rahul92

+0

정렬 된 배열을 얻고 있지만 역순으로 배열을 원합니다. – Rahul92

관련 문제