2011-10-18 12 views
1

jQueryを使用してJSON配列をソートするのに少し問題があります。ユーザーの選択に基づいてJSONネストされた配列をフィルタリングする

私がしなければならないことは、ユーザーが選択した時間に応じてgeoJSON配列をフィルタリングすることです。 ユーザーは、jQueryスライダを使用して時間範囲を選択できます。私は時間の選択の間のみの配列値を返すことができますすることができますどのように

$("#slider-range").slider({ 
     stop: function(event, ui) { 
      $("#amount").val("h" + ui.values[0]+":00" + 
          "h" + ui.values[1]+":00"); 
      minSel =ui.values[0]; 
      maxSel =ui.values[1]; 

      //HERE SHOULD BE PLACED THE FILTER FUNCTION 
      filterArray(minSel,maxSel); 
     } 
    }); 

は彼らのvisitedTimesで注文しましたか?

ここに、アレイのサンプルがあります。

誰でも手伝ってもらえますか?

{ "type": "FeatureCollection", "features": [ 
{ "type": "Feature", 
    "id": "...", 
    "geometry": { "type": "Point", "coordinates": [...]}, 
    "properties": { "venueName": "Its name", 

         "visitedTimes": "1", 
         "day": "07", 
         "month": "09", 
         "hour": "00", 
         "min": "50", 
         "sec": "58" 
    } 
}, 
{ "type": "Feature", 
    "id": "4bd34eca462cb7133d1dde07", 
    "geometry": { "type": "Point", "coordinates": [...]}, 
    "properties": { "venueName": "Old Wild West", 
         "visitedTimes": "4", 
         "day": "07", 
         "month": "09", 
         "hour": "00", 
         "min": "51", 
         "sec": "21" 
    } 
}, 
{ "type": "Feature", 
    "id": "...", 
    "geometry": { "type": "Point", "coordinates": [...]}, 
    "properties": { "venueName": "Past & future", 
         "day": "07", 
         "month": "09", 
         "hour": "00", 
         "min": "51", 
         "sec": "23" 
    } 
} 
]} 
+0

JSONをJavaScriptオブジェクトに解析すると仮定します。そのため、実際にJSONに関連した問題ではありません。 –

答えて

2

jQuery.grep(array、function(elementOfArray、indexInArray))関数を使用して配列をフィルタリングします。

次に、visitedTimesでソートするカスタムコンパレータ関数でjavascriptソート関数を使用します。