UNPKG

nak

Version:

ack and ag inspired tool written in Node. Designed to be fast.

26 lines (22 loc) 633 B
var mergesort = module.exports = function(array) { var len = array.length; if (len < 2) { return array; } var pivot = Math.ceil(len/2); return merge(mergesort(array.slice(0,pivot)), mergesort(array.slice(pivot))); }; function merge (left, right) { var result = []; // lowercasing left[0] & right[0] takes a lot of time... while((left.length) && (right.length)) { if ( left[0].toLowerCase() > right[0].toLowerCase()) { result.push(right.shift()); } else { result.push(left.shift()); } } result = result.concat(left, right); return result; }