How to write a generic sorting function in the style orderBy thenBy that sort an array by a list of properties provided as an array.
var items = [{ name: "AA" prop1 : 12, prop2: 13, prop3: 5, prop4: 22 },
{ name: "AA" prop1 : 12, prop2: 13, prop3: 6, prop4: 23 },
{ name: "AA" prop1 : 12, prop2: 14, prop3: 5, prop4: 23 },
{ name: "AA" prop1 : 11, prop2: 13, prop3: 5, prop4: 22 },
{ name: "AA" prop1 : 10, prop2: 13, prop3: 9, prop4: 21 }
];
// sort by prop1 then by prop3 then by prop4:
var sortedItems = sortByThenBy(items, ["prop1", "prop3", "prop4"]);
// sort by prop1 then by prop3:
var sortedItems = sortByThenBy(items, ["prop1", "prop3"]);