JSFiddle - React, Tailwind, and code Playground
JavaScript
// string based array
var array = ["Fred","Wilma", "Pebbles"];
/* sort wrapper : note you could build a function that
takes "sort types" such as fn('toggle'), fn('numeric')
*/
function fn(reversed){
return function(){
reversed = !reversed;
return function(a,b){
return (a==b ? 0 : a < b? -1 : 1) * (reversed ? -1 : 1);
};
};
};
var toggleSortF = fn(); // starts as false
var toggleSortT = fn(true); // starts as true
// Check it:
s = "<pre>" +
"\nTRUE" +
"\n"+array.sort(toggleSortT()) +
"\n"+array.sort(toggleSortT()) +
"\n"+array.sort(toggleSortT()) +
"\nFALSE" +
"\n"+array.sort(toggleSortF()) +
"\n"+array.sort(toggleSortF()) +
"\n"+array.sort(toggleSortF()) +
"</pre>";
document.write(s)