UNPKG

891 BJavaScriptView Raw
1import isArray from './is-array';
2import isString from './is-string';
3import isFunction from './is-function';
4function sortBy(arr, key) {
5 var comparer;
6 if (isFunction(key)) {
7 comparer = function (a, b) { return key(a) - key(b); };
8 }
9 else {
10 var keys_1 = [];
11 if (isString(key)) {
12 keys_1.push(key);
13 }
14 else if (isArray(key)) {
15 keys_1 = key;
16 }
17 comparer = function (a, b) {
18 for (var i = 0; i < keys_1.length; i += 1) {
19 var prop = keys_1[i];
20 if (a[prop] > b[prop]) {
21 return 1;
22 }
23 if (a[prop] < b[prop]) {
24 return -1;
25 }
26 }
27 return 0;
28 };
29 }
30 arr.sort(comparer);
31 return arr;
32}
33export default sortBy;
34//# sourceMappingURL=sort-by.js.map
\No newline at end of file