div に ng-repeat 機能を実装しようとしています。そのためには、最初にデータを並べ替え (オブジェクトから提供されたランクに従って)、次に div に名前を付ける必要があります。だから私はカスタム OrderBy 関数を作成しています。私のソート機能はうまく機能します。ただし、divの順序は常に同じです。(実際、必要なものとは正反対です)。リバース機能を使用してみましたが、うまくいきません。
私のソートコードは次のようになります。
var res = {
"Toyota": 2,
"Ford": 1,
"Chrysler": 4,
"Hyundai": 3,
"Nissan": 5
};
sortedVal = Object.keys(res).sort(function (a, b){
return res[a] - res[b];
});
私のHTML divは次のようになります。
<div class="card" ng-repeat="name in data | orderBy: sortedVal ">
コンソールに正しい出力が表示されます。ただし、何をしても、divは常に以下の順序で配置されます。
日産、クライスラー、ヒュンダイ、トヨタ、フォード。
フォード、トヨタ、ヒュンダイ、クライスラー、日産の順に必要です。
注: 「データ内の名前」の部分は気にしないでください。問題なく動作します。「OrderBy」に問題があります。