Here you can find the source of sortBy( field, ascending_order )
/**//from ww w. j ava 2s .c o m * JS para el ordenamiento de arreglos del tipo [[]] * * Ejemplo de uso: * * Si tenemos un arreglo definido de esta forma: * var arreglo = [ [ 12, 'CCC', 'aa', 'y1y' ], * [ 58, 'DDD', 'bb', 'y4y' ], * [ 28, 'AAA', 'dd', 'y0y' ], * [ 18, 'BBB', 'cc', 'y3y' ] ]; * * Podemos ordenarlo usando el metodo 'sortBy' que se ha agregado * al prototipo del tipo de objeto 'Array: * var newA = arreglo.sortBy(0, true); * * Aqu? hemos indicado que el ordenamiento ser? ascendente y por el primer * campo de cada elemento del arraglo, el indice del arreglo inicia en cero!!. * * */ 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); }); };
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) { ...
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; ...
Array.prototype.sortAscending = function() { return this.sort( function( a, b ) { if ( a > b ) { return 1; return a < b ? -1 : 0; } ); };
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]; ...
Array.prototype.sortBool = function(iteratee) { var _iteratee = function(a, b) {return iteratee(a, b) ? -1 : 1}; return this.sort(_iteratee); };
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); }; })();
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; ...
Array.prototype.sortBy = function(comparator) { return this.sort((a,b) => { return comparator(a) < comparator(b) ? -1 : 1 })
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; }); }; ...