これらのパーセンテージをソートしようとしているような表がありますが、私はparseFloat
とanglejを確実に確認するいくつかの方法を試しましたが、期待通りにソートされていません。 0)は正常にそれらを注文するでしょう。AngularJS orderByパーセント
[
{percentage: 8.82}
{percentage: 0.00}
{percentage: 11.36}
{percentage: 21.88}
{percentage: 25.74}
{percentage: 22.22}
]
次の2つのスクリーンショットは、パーセンテージがソートされた2つの注文を示しています。
<tr ng-repeat="p in percentages|orderBy:orderByField:reverseSort">
<td>{{p.percentage}}%</td>
</tr>
percentages
私はパーセンテージを作成し、文字列を返すtoFixed(2)
機能を使用し、私のnodejsサーバー、から来ています。しかし、私は文字列の上にparseFloat()
を使用しようとしました(両方がサーバから戻ってくる前と後)。
reverseSort
は、コントローラのブール値で、列名をクリックすると設定されます。
orderByField
は、reverseSort
と同様に設定された文字列の値です。
:
for(let row of rows){
row.percentage= parseFloat(((row.prop1/ (row.prop2 + row.prop1))* 100).toFixed(2));
}
サーバからのデータは 'number'のオブジェクト/' percentage'プロパティのオブジェクトですか? –
このplunkrで再現できません:https://plnkr.co/edit/wzo0n94I0tIFJMha2oJk?p=preview; 'orderByField'が文字列に正しく設定されていますか?これは正確に ''パーセント ''と等しくなければなりません。 –
@MikeMcCaughanはちょうどウォッチャーをセットアップし、それらがまったく同じであることを確認しようとしていましたが、もちろん私には手紙がありませんでした...いくつかの事柄を再テストし、動作するかどうかを確認します。それがうまくいくなら私はおそらく文法エラーを有効なプログラミングの質問とみなしているとは思わないので、私の質問を削除するでしょう。それを私に指摘してくれてありがとう。 –