UNPKG

1.02 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3var is_array_1 = require("./is-array");
4var is_string_1 = require("./is-string");
5var is_function_1 = require("./is-function");
6function sortBy(arr, key) {
7 var comparer;
8 if (is_function_1.default(key)) {
9 comparer = function (a, b) { return key(a) - key(b); };
10 }
11 else {
12 var keys_1 = [];
13 if (is_string_1.default(key)) {
14 keys_1.push(key);
15 }
16 else if (is_array_1.default(key)) {
17 keys_1 = key;
18 }
19 comparer = function (a, b) {
20 for (var i = 0; i < keys_1.length; i += 1) {
21 var prop = keys_1[i];
22 if (a[prop] > b[prop]) {
23 return 1;
24 }
25 if (a[prop] < b[prop]) {
26 return -1;
27 }
28 }
29 return 0;
30 };
31 }
32 arr.sort(comparer);
33 return arr;
34}
35exports.default = sortBy;
36//# sourceMappingURL=sort-by.js.map
\No newline at end of file