2017-08-30 10 views
1

私はオブジェクト配列(靴)のサイズ部分の配列をソートしようとしています。 orderByフィルターが機能しません。サイズはランダムに表示されます。AngularJS:filter orderBy not working

<div class="choice" ng-repeat="store in pc.stores track by $index"> 
    <div class="sizes" <span ng-repeat="size in store.shoes[0].sizes | orderBy:size track by $index">{{size}}</span></div> 
</div> 

は、ここで私はまた、引用符でORDERBYフィルタ( 'サイズ')を試してみたはconsole.log enter image description here

の画面のグラブです。それでも動作しません。私は何が欠けているのか分からない。おかげさまで

+1

イメージの代わりにjsonを投稿できますか? – Sajeetharan

答えて

0

私はそれを理解しました。私は

   self.size = function (size) { 
       var val = parseFloat(size); 
       return isNaN(val) ? size : val; 
      }; 
0

それをソートするために、コントローラでカスタム関数を作成したので、私は、カスタムフィルタとして分割を書かれているだけでなく浮動小数点数を考慮していました。これがあなたを助けることを願っています。

<div class="choice" ng-repeat="store in pc.stores track by $index"> 
    <div class="sizes" <span ng-repeat="size in store.shoes[0].sizes | split track by $index">{{size}}</span></div> 
</div> 



angular.module('test').filter('split', function() { 
    return function (input, delimiter) { 
     if (input != undefined) { 
      var delimiter = delimiter || ','; 
      var d=input.split(delimiter); 
      var out=[]; 
      for(var i=0;i< d.length;i++) 
      { 
       for(var j=1;j<= d.length ; j++) 
       { 
        if(d[i] < d[j]) 
        { 
         out.push(d[i]); 
        }else{ 
         out.push(d[j]); 
        } 
       } 
      } 

      return out; 
     } 
    } 
});