Array.prototype.OrderByAsc = function (func) { var m = {}; for (var i = 0; i < this.length; i++) { for (var k = 0; k < this.length; k++) { if (func(this[i]) < func(this[k])) { m = this[k]; this[k] = this[i]; this[i] = m; } } } return this; } Array.prototype.OrderByDesc = function (func) { var m = {}; for (var i = 0; i < this.length; i++) { for (var k = 0; k < this.length; k++) { if (func(this[i]) > func(this[k])) { m = this[k]; this[k] = this[i]; this[i] = m; } } } return this; }