Skip to content

Instantly share code, notes, and snippets.

@davatron5000
Last active August 29, 2015 14:26
Show Gist options
  • Star 3 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save davatron5000/aa124219766fe9ad62de to your computer and use it in GitHub Desktop.
Save davatron5000/aa124219766fe9ad62de to your computer and use it in GitHub Desktop.
southwestSort
var letters = ["q","w","e","r","t","y","u","i","o","p","a","s","d","f","g","h","j","k","l","z","x","c","v","b","n","m"];
function southwestSort( arr ) {
var a = arr.slice( 0, Math.floor(arr.length / 3) );
var b = arr.slice( Math.floor(arr.length / 3), Math.floor(arr.length / 3)*2 );
var c = arr.slice( Math.floor(arr.length / 3)*2, arr.length );
return a.sort().concat(b.sort()).concat(c.sort());
}
southwestSort( letters );
// [ "e","i","q","r","t","u","w","y","a","d","f","g","h","o","p","s","b","c","j","k","l","m","n","v","x","z" ]
@davatron5000
Copy link
Author

Fun fact: This is how the Dvorak keyboard was invented.

@jed
Copy link

jed commented Aug 2, 2015

this function smells as bloated as american airlines, dave.

function southwestSort(a){return a.concat.apply([],[0,1,2].map(function(i){return a.slice(i*a.length/3,++i*a.length/3,).sort()}))}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment