UNPKG

amos-tool

Version:

amos ui tool

82 lines (80 loc) 2.83 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"), _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray")), deepCopy = require("./_deepCopy"), utils = require("./utils"), arrayUtils = { arrayIntersection: function() { if (arguments.length > 0) { for (var r = deepCopy(arguments[0]), e = 1; e < arguments.length; e++) { var t = arguments[e]; Array.isArray(t) || console.error(t + "不是数组,不能求交集"), r = r.filter(function(r, e) { return t.indexOf(r) >= 0; }); } return r; } return []; }, arrayToObject: function(r, e) { for (var t = e && e.plainObjects ? Object.create(null) : {}, n = 0; n < r.length; ++n) void 0 !== r[n] && (t[n] = r[n]); return t; }, merge2DArraysDiagonally: function(r, e) { for (var t = [], n = Math.max(r.length, e.length), a = r[0].length, u = e[0].length, o = function(r) { return Array(r).fill(null); }, l = 0; l < n; l++) { var i = r[l] || o(a), f = e[l] || o(u); t[l] = [].concat((0, _toConsumableArray2.default)(i), (0, _toConsumableArray2.default)(f)); } return t; }, deduplicateAndSort: function(r, e) { var t = (0, _toConsumableArray2.default)(new Set(r)); return t.sort(e), t; }, removeByIndex: function(r, e) { if (utils.isNumber(e)) r.splice(e, 1); else if (utils.isArray(e)) for (var t = arrayUtils.deduplicateAndSort(e, function(r, e) { return r - e; }), n = 0; n < t.length; n++) { var a = t[n] - n; a < r.length && r.splice(a, 1); } return r; }, calculateRanks: function(r) { for (var e = {}, t = r.slice().sort(function(r, e) { return r - e; }), n = 1, a = t[0], u = 0; u < t.length; u++) { var o = t[u]; o !== a && (n = u + 1, a = o), e[o] ? (e[o].count++, e[o].sum += n) : e[o] = { count: 1, sum: n }; } return r.map(function(r) { return e[r] ? e[r].sum / e[r].count : void 0; }); }, moveIndex: { next: function(r, e) { e.sort(function(r, e) { return r - e; }); var t = Math.max.apply(Math, (0, _toConsumableArray2.default)(e)); if (t >= 0 && t < r.length - 1) for (var n = e.length - 1; n >= 0; n--) { var a = e[n], u = [ r[a + 1], r[a] ]; r[a] = u[0], r[a + 1] = u[1]; } return r; }, prev: function(r, e) { e.sort(function(r, e) { return e - r; }); var t = Math.min.apply(Math, (0, _toConsumableArray2.default)(e)); if (t >= 1 && t < r.length) for (var n = e.length - 1; n >= 0; n--) { var a = e[n], u = [ r[a], r[a - 1] ]; r[a - 1] = u[0], r[a] = u[1]; } return r; } } }; module.exports = arrayUtils;