Typescriptでarraylistを複数のフィールドでソートするにはどうすればよいですか?Typescriptの複数のフィールドでarraylistをソートする方法
例えば、私は、このオブジェクトを持っている: enter image description here
マイ単一のソート方法が正常に動作します:
private sortFunction(a: RSFolderObject, b: RSFolderObject) {
var a_label = a.label.toLowerCase();
var b_label = b.label.toLowerCase();
if (a_label < b_label) {
return -1;
} else if (a_label > b_label) {
return 1;
} else {
return 0;
}
}
複数の場合は、私がいることを使用並べ替え:
private sortFunction(a: RSFolderObject, b: RSFolderObject) {
var a_label = a.label.toLowerCase();
var b_label = b.label.toLowerCase();
var a_description = a.description[0].toLowerCase().replace("\\", "");
var b_description = b.description[0].toLowerCase().replace("\\", "");
if (a_label < b_label || a_description < b_description) {
return -1;
} else if (a_label > b_label || a_description > b_description) {
return 1;
} else {
return 0;
}
}
をしかし、それはありません作業。
をあなたはどのように正確に並べ替えるのですか?あなたは何を並べていますか?あなたがここに示したのは比較関数ですが、それをどうしますか?また、何がうまくいかないかについて少し詳しく説明できますか? –
私はオブジェクト "RSFolderObject"を持っています。上の画像はリンクで見ることができます。それが私が分類するオブジェクトです。 1)var myObject:RSFolderObject [] = []; 2).....既存のオブジェクトをmyObjectにプッシュするより..... 3)myObject.sort(this.sortFunction); localeCompareは、このコードのほとんどを排除する必要があるためhttp://www.w3schools.com/jsref/jsref_localecompare.aspを見てください – WebDev