fast-string-compare
Version:
A (much) faster String.prototype.localeCompare
25 lines (24 loc) • 590 B
JavaScript
/**
* Compare two strings. This comparison is not linguistically accurate, unlike
* String.prototype.localeCompare(), albeit stable.
*
* @returns -1, 0 or 1
*/
export function compare(a, b) {
const lenA = a.length;
const lenB = b.length;
const minLen = lenA < lenB ? lenA : lenB;
var i = 0;
for (; i < minLen; ++i) {
const ca = a.charCodeAt(i);
const cb = b.charCodeAt(i);
if (ca > cb)
return 1;
else if (ca < cb)
return -1;
}
if (lenA === lenB)
return 0;
return lenA > lenB ? 1 : -1;
}
;