123456789101112131415161718192021222324252627282930313233343536 |
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- var is_array_1 = require("./is-array");
- var is_string_1 = require("./is-string");
- var is_function_1 = require("./is-function");
- function sortBy(arr, key) {
- var comparer;
- if (is_function_1.default(key)) {
- comparer = function (a, b) { return key(a) - key(b); };
- }
- else {
- var keys_1 = [];
- if (is_string_1.default(key)) {
- keys_1.push(key);
- }
- else if (is_array_1.default(key)) {
- keys_1 = key;
- }
- comparer = function (a, b) {
- for (var i = 0; i < keys_1.length; i += 1) {
- var prop = keys_1[i];
- if (a[prop] > b[prop]) {
- return 1;
- }
- if (a[prop] < b[prop]) {
- return -1;
- }
- }
- return 0;
- };
- }
- arr.sort(comparer);
- return arr;
- }
- exports.default = sortBy;
- //# sourceMappingURL=sort-by.js.map
|