2014-09-26 29 views
0

所以,我想對多列上的Taffy數據庫進行排序,並獲得意外的結果。這個例子:Taffy DB排序我的多個列

<script src="./taffy/taffy.js"></script> 
<script> 

    var myTaffyDB = TAFFY([ 
     {"foo":"bar","letter":"A","number_01":48,"number_02":6}, 
     {"foo":"bar","letter":"S","number_01":49,"number_02":2}, 
     {"foo":"bar","letter":"Q","number_01":49,"number_02":3}, 
     {"foo":"bar","letter":"W","number_01":49,"number_02":4}, 
     {"foo":"bar","letter":"P","number_01":49,"number_02":5}, 
     {"foo":"bar","letter":"T","number_01":49,"number_02":6}, 
     {"foo":"bar","letter":"W","number_01":49,"number_02":7}, 
     {"foo":"bar","letter":"Q","number_01":49,"number_02":8}, 
     {"foo":"bar","letter":"A","number_01":49,"number_02":9}, 
     {"foo":"bar","letter":"C","number_01":49,"number_02":10}, 
     {"foo":"bar","letter":"B","number_01":50,"number_02":1} 
    ]); 
      var tempResultsArray = myTaffyDB({"foo":"bar"}) 
       .order("letter","number_01","number_02") 
       .select("letter", "number_01", "number_02") 
      ; 
     console.log('tempResultsArray: ' + tempResultsArray); 

    </script> 

產生如下:

A,48,6,A,49,9,B,50,1,C,49,10,P,49,5,Q,49,8,Q,49,3,S,49,2,T,49,6,W,49,4,W,49,7 

注意Q個結果的順序49.8然後49,3,分揀儘管順序調用由信中寫道組,然後是number_01,然後是number_02。

我是否在構建這個方法時缺少某些東西,或者在Taffy命令的結果中存在某些限制?

回答

0

嘗試.order("letter, number_01, number_02")
源代碼說:// * Purpose: Accept filters such as "[col], [col2]" or "[col] desc" and sort on those columns
它爲我工作。

+0

這似乎已正確排序數據。我在我的代碼中嘗試了這個變體,結果沒有成功,這導致我相信在格式化輸出時存在另一個問題。謝謝。 – larkvi 2015-01-03 09:54:52