この小さな書店アプリを作ろうとしていて、価格と名前、昇順と降順で書籍を並べ替えるオプションを追加したかったのです。価格の並べ替えは非常に奇妙な順序で起こり、その理由を見つけることができません。もし私が助けてくれる人がいれば、私はAngularでかなり新しいです。ありがとうございました!ここで名前で並べ替えがうまく動作しますが、価格で正しく並べ替えることはできません
は、ソースコードである:https://github.com/EgomortIncognitus/bookstore
ここでソートby.pipe.tsからコードされています
import { Pipe, PipeTransform } from '@angular/core';
@Pipe({
name: 'sortBy'
})
export class SortByPipe implements PipeTransform {
transform(array: Array<string>, args?: any): any {
if (array) {
let sortField = args[0];
let sortDirection = args[1];
let modifier = 1;
if (sortDirection === 'desc') {
modifier = -1;
}
array.sort((a: any, b: any) => {
if (a[sortField] < b[sortField]) {
return -1 * modifier;
} else if (a[sortField] > b[sortField]) {
return 1 * modifier;
} else {
return 0;
}
});
return array;
}
}
}
は、数字または文字列として保存された賞ですか? –
Typescriptはjavascriptではないので、javascriptでタグ付けしないでください。そうしなければならないのは、typescriptをjavascriptに渡すことと関係がある場合です。 – Endless
私は少し失われているので、申し訳ありませんが、私は明示的な答え/説明が必要です。 –