List of utility methods to do Array Sort
sort(fn)Array.prototype.sort = function(fn) { if (!arguments[0]) { fn = function(a, b) { return a.compareTo(b); }; for (var i = 0, len = this.length; i < len - 1; i++) { for (var j = i + 1, len = this.length; j < len; j++) { if (fn(this[i], this[j]) > 0) { ... | |
sortABC( property )Array.prototype.sortABC = function( property ) return this.sort( function( a,b) var links = a[property].replace(/?, "Oe").replace(/?, "Ae").replace(/?,"Ue"); var rechts = b[property].replace(/?, "Oe").replace(/?, "Ae").replace(/?,"Ue"); if( links < rechts) return -1; if( links > rechts) return 1; return 0; ... | |
sortAscending()Array.prototype.sortAscending = function() { return this.sort( function( a, b ) { if ( a > b ) { return 1; return a < b ? -1 : 0; } ); }; | |
sortAscending()Array.prototype.sortAscending = function() { this.sort(function(a, b) { return a - b; }); return this; }; var largestProductOfThree = function(array) { array = array.slice().sortAscending(); var secondFromLast = array[array.length - 2]; ... | |
sortBool(iteratee)Array.prototype.sortBool = function(iteratee) { var _iteratee = function(a, b) {return iteratee(a, b) ? -1 : 1}; return this.sort(_iteratee); }; | |
sortBy( field, ascending_order )Array.prototype.sortBy= function( field, ascending_order ) { var asc = ascending_order ? 1 : -1; return this.sort(function (a, b) { return (asc *(a[field] <= b[field]) ? -1:1); }); }; | |
sortBy(()Array.prototype.sortBy = (function() { function identity(v){return v;} function ignoreCase(v){return typeof(v)==="string" ? v.toLowerCase() : v;} function makeCompareFunction(f, opt){ opt = typeof(opt)==="number" ? {direction:opt} : opt||{}; if(typeof(f)!="function"){ var prop = f; f = function(v1){return !!v1[prop] ? v1[prop] : "";} if(f.length === 1) { var uf = f; var preprocess = opt.ignoreCase?ignoreCase:identity; f = function(v1,v2) {return preprocess(uf(v1)) < preprocess(uf(v2)) ? -1 : preprocess(uf(v1)) > preprocess(uf(v2)) ? 1 : 0;} if(opt.direction === -1) return function(v1,v2){return -f(v1,v2)}; return f; return function(callbacks){ var array = this; function tb(func, opt) { var x = typeof(this) == "function" ? this : false; var y = makeCompareFunction(func, opt); var f = x ? function(a, b) { return x(a,b) || y(a,b); : y; f.thenBy = tb; f.sort = () => array.sort(f); return f; return tb(callbacks); }; })(); | |
sortBy()Array.prototype.sortBy = function() { function _sortByAttr(attr) { var sortOrder = 1; if (attr[0] == "-") { sortOrder = -1; attr = attr.substr(1); return function(a, b) { var result = (a[attr] < b[attr]) ? -1 : (a[attr] > b[attr]) ? 1 : 0; ... | |
sortBy(comparator)Array.prototype.sortBy = function(comparator) { return this.sort((a,b) => { return comparator(a) < comparator(b) ? -1 : 1 }) | |
sortBy(f)Array.prototype.sortBy = function (f) { return this.sort(function (a, b) { if (a[f] < b[f]) return -1; if (a[f] > b[f]) return 1; return 0; }); }; ... |