以下で定義されているプロパティの 1 つに基づいて、オブジェクトの配列を並べ替える優れた方法を見つけました。
JavaScript の文字列プロパティ値でオブジェクトの配列を並べ替える
この関数を使用すると、(すべてのブラウザーで) 単一の並べ替えに完全に機能し、Google Chrome を使用する場合を除いて、別の並べ替え内の並べ替えにも完全に機能します! これは、オブジェクトの配列に対する Ege Özcan の優れたソート ルーチンです。
function dynamicSort(property) {
return function (a,b) {
return (a[property] < b[property]) ? -1 : (a[property] > b[property]) ? 1 : 0;
}
}
「Data」という名前の配列を使用します (もちろん、私の配列にはさらに多くのオブジェクトのペアがあります)...
var Data = [{Category: "Business", Value: "ABC"},{Category:"Personal", Value:"XYZ"}];
これを行うことで、各カテゴリ内のすべての値として順序がリストされている適切な並べ替えを取得できます...
Data.sort(dynamicSort("Value"));
Data.sort(dynamicSort("Category"));
最初に で並べ替えValue
、次に で並べ替えることによりCategory
、配列はすべての値を並べ替えた順序で配置し、すべてのビジネス ベースの値を最初にリストし、次にすべての個人ベースの値をリストします。完全!データがカテゴリ別に適切にソートされている Chrome を除きますが、各カテゴリ内の値の順序はかなりランダムに見えます。
Chromeでも機能するソート内でソートを行うより良い方法を知っている人はいますか?