私は選択したキーのアルファベット順に並べ替えたいオブジェクトの配列を持っています。あなたは上から見るようJavaScriptはオブジェクト配列の順序を切り替える
var locationsOrdered = false;
function dynamicSort(property) {
var sortOrder = 1;
if (locationsOrdered) {
if(property[0] === "-") {
sortOrder = -1;
property = property.substr(1);
}
locationsOrdered = false;
} else {
property = '-' + property;
locationsOrdered = true;
}
return function (a,b) {
var result = (a[property] < b[property]) ? -1 : (a[property] > b[property]) ? 1 : 0;
return result * sortOrder;
}
}
People.sort(dynamicSort('Surname'))
var People = [
{Name: "Name", Surname: "Surname"},
{Name:"AAA", Surname:"ZZZ"},
{Name: "Name", Surname: "AAA"}
];
私は指定されたプロパティを取るdynamicSort
と呼ばれる機能を持っていますが、私はそれがそのが有効化されている場合、フロントでそれを-
を与えるために値を切り替えたいと思います。したがって、dynamicSort('Surname')
を実行する場合、その関数は以前に使用されたことを覚えておいてSurname
の前に-
を追加してください。
Essentialy以前に使用されていた注文を元に戻したいと思っています。
あなたがもし/他に使用しているブール変数をトグルしています。 ' - 'チェックが本当に必要ですか? – Taplar
しかし '-Surname'プロパティはありません – Oriol