arraysort
Version:
Array sorting utility.
25 lines (22 loc) • 633 B
JavaScript
/**
* Sort by string comparing.
* @memberof module:arraysort/lib
* @function stringCompare
* @param {object} [options] - Sort options.
* @param {boolean} [options.desc=false] - Desc sort.
* @returns {function} - Compare function.
*/
;
/** @lends stringCompare */
function stringCompare(options) {
if (arguments.length > 1) {
throw new Error('[stringCompare] Invalid args.');
}
options = options || {};
let desc = !!options.desc;
return function sort(a, b) {
let compared = a.localeCompare(b);
return compared * (desc ? -1 : 1);
}
}
module.exports = stringCompare;