UNPKG

@antv/util

Version:

> AntV 底层依赖的工具库,不建议在自己业务中使用。

37 lines 1.14 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1 = require("tslib"); var is_array_1 = tslib_1.__importDefault(require("./is-array")); var is_string_1 = tslib_1.__importDefault(require("./is-string")); var is_function_1 = tslib_1.__importDefault(require("./is-function")); function sortBy(arr, key) { var comparer; if ((0, is_function_1.default)(key)) { comparer = function (a, b) { return key(a) - key(b); }; } else { var keys_1 = []; if ((0, is_string_1.default)(key)) { keys_1.push(key); } else if ((0, 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